Как я могу получить доступ к идентификатору шаблона компонента из моего DWT компонента?
В HTML-шаблоне для моего Компонента мне нужно записать URI TCM шаблона компонента:
<!-- Start Component Presentation: {"ComponentID" : "@@[email protected]@",
"ComponentTemplateID" : "@@[email protected]@" } -->
Но, к сожалению, ComponentTemplate.ID
не существует.
Как я могу получить доступ к идентификатору шаблона компонента из моего DWT компонента?
Ответы
Ответ 1
Боюсь, вам придется писать С# TBB (фрагмент или сборку):
TcmUri templateId = engine.PublishingContext.ResolvedItem.Template.Id;
if (templateId.ItemType == ItemType.ComponentTemplate) {
Item item = package.CreateStringItem(ContentType.Text, templateId.ToString());
package.PushItem("ComponentTemplateID", item);
}
Вы можете получить доступ к ComponentTemplate.ID из макета страницы DWT...
Ответ 2
Добавьте параметр "ComponentTemplateID" в Invocation шаблона в составном шаблоне. Затем вы можете получить доступ к этому так же, как и переменные пакета.
Ответ 3
@@[email protected]@
предоставит вам URL-адрес TCM шаблона компонента при предварительном просмотре (в CME, а не в построителе шаблонов) или публикации.