Engine
Template
s Tridion öğelerini esas beklediğini beri, o Package
sadece herhangi bir öğeyi mümkün olmayacaktır korkuyorum.
Şablon Öğesi ürününüzün bir Tridion Öğesi temel alınarak olması durumunda, Engine.GetMediator
yönteminden başlayarak büyük olasılıkla uzaklaşabilirsiniz. Değilse, geçerli bir Template
nesnesine dönüştürmenin bir yolunu bulmanız gerekir.
Component component = new Component(item.GetAsXmlDocument().DocumentElement,
engine.GetSession);
Ben denemedim ama bekliyoruz: Ben Paketi bir Tridion tabanlı Item bir Component
nesne oluşturmak zorunda olduklarında
Template template = ...
IMediator mediator = engine.GetMediator(template);
mediator.Transform(engine, template, package);
, normalde böyle bir şey yapmak Template
için de aynısını yapabilirsiniz - Başlangıç için bir Şablonu temsil eden Paket'den geçerli bir Öğeyle başladığınız sürece. Muhtemelen XML'yi varolan bir Öğeden kopyalayabilir veya sahte bir şekilde başka bir yol bulabilirsin.
Bunu işe alırsanız, tüm kayıtlı şablon türleri üzerinde çalışır. Engine
, Tridion ile gelen türler için özel bir işlem yapılmaz.
Paket sınıfı, araştırmaya değer olabilecek bir package.EvaluateExpression (string expression) yöntemine sahiptir. –