tridion - 如何从组件DWT中访问组件模板ID?

标签 tridion

在我的组件的HTML模板中,我需要写出组件模板的TCM URI:

<!-- Start Component Presentation: {"ComponentID" : "@@Component.ID@@",
                        "ComponentTemplateID" : "@@ComponentTemplate.ID@@" } -->

但不幸的是ComponentTemplate.ID不存在。

如何从组件DWT中访问组件模板ID?

最佳答案

恐怕您将不得不编写C#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);
}

您只能从Page DWT布局中访问ComponentTemplate.ID。

关于tridion - 如何从组件DWT中访问组件模板ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9938479/

相关文章:

tridion - 我应该如何从 DWT 获取关键字 Key

tridion - 如何最好地将 Tridion Broker 用作多个网站的单一内容来源?

Tridion 核心服务 如何下载多媒体组件的二进制文件

tridion - 编辑出版物的元数据所需的系统管理权限?

Tridion UI - 预览未更新

tridion - 富文本字段中的符号

tridion - 使用核心服务创建组件时如何传递 WebDavURL 而不是 TCM URI?

tridion - SDL Tridion 2011 SP1 模式中 Tridion 设计中的动态下拉菜单

javascript - Tridion 2011 SP1 : Tridion GUI Javascript error with Translation Manager and Powertools 2011 installed

templates - 如何通过 Tridion Razor 模板中的富文本字段的组件链接插入片段