Tôi sợ rằng sẽ không thể về chỉ cần bất kỳ mục trong Package
, kể từ khi Engine
hy vọng Template
s phải dựa vào các mặt hàng Tridion.
Nếu mặt hàng mẫu của bạn là dựa trên một mục Tridion, bạn có thể có thể nhận được khá xa bằng cách bắt đầu tại phương pháp Engine.GetMediator
. Nếu không, bạn sẽ phải tìm cách nào đó để biến nó thành đối tượng Template
hợp lệ.
Template template = ...
IMediator mediator = engine.GetMediator(template);
mediator.Transform(engine, template, package);
Khi tôi có để tạo ra một đối tượng Component
từ một khoản Tridion-có trụ sở tại Package, tôi thường làm một cái gì đó như thế này:
Component component = new Component(item.GetAsXmlDocument().DocumentElement,
engine.GetSession);
tôi đã không cố gắng, nhưng hy vọng rằng bạn có thể làm tương tự cho một số Template
- với điều kiện bạn bắt đầu với một Mục hợp lệ từ Gói đại diện cho một Mẫu để bắt đầu. Bạn có thể sao chép XML từ một mục hiện có hoặc tìm một số cách khác để giả mạo nó.
Nếu bạn làm việc này, nó sẽ hoạt động trên tất cả các loại mẫu đã đăng ký. Các Engine
cung cấp không có điều trị đặc biệt cho các loại đi kèm với Tridion.
Nguồn
2012-06-13 14:21:04
Lớp gói có phương thức 'package.EvaluateExpression (biểu thức chuỗi)' có thể đáng để điều tra. –