Я боюсь, что не будет возможно только на какой-либо элемент в Package
, так как Engine
ожидает Template
s основываться на пунктах TRIDION.
Если ваш шаблон Item является на основе предмета Tridion, возможно, вы получите довольно далеко, начав с метода Engine.GetMediator
. Если это не так, вам нужно будет найти способ превратить его в действительный объект Template
.
Template template = ...
IMediator mediator = engine.GetMediator(template);
mediator.Transform(engine, template, package);
Когда я должен создать Component
объект из пункта Tridion основе в пакете, я обычно делаю что-то вроде этого:
Component component = new Component(item.GetAsXmlDocument().DocumentElement,
engine.GetSession);
Я не пробовал, но ожидать, что вы можете сделать то же самое для Template
- учитывая, что вы начинаете с действительного элемента из пакета, представляющего шаблон для начала. Вероятно, вы можете клонировать XML из существующего элемента или найти другой способ подделать его.
Если вы его заработаете, он будет работать по всем зарегистрированным типам шаблонов. Engine
не предусматривает специальной обработки типов, которые поставляются с Tridion.
Класс пакета имеет метод 'package.EvaluateExpression (строковое выражение)', который может стоить исследовать. –