使用 Tridion 管理“全球”徽标
例如,要使用 SDL Tridion 管理网站范围的徽标及其文本元素,我希望它在一个组件中,由(动态)组件模板呈现,并由页面模板放置。我的要求包括:
- 徽标作为组件——图像作为多媒体 (mm) 组件和链接、alt(即“home”)和可选容器组件中的其他文本
- 动态组件展示 (DCP) - 能够管理徽标的标记展示并发布更改,而无需发布每个页面
- 可共享——能够在较低的出版物中本地化组件中的多媒体和文本,而不是模板
作者不需要将徽标作为组件演示 (CP) 放置在每个页面上,尽管仅在主页上的徽标 CP 可以提供动态链接。
RenderComponentPresentation()
, TCDL
, 或Tridion
“非 CP”的标签
对于这种无 CP 方法,我认为 RenderComponentPresentation() 或TCDL 标记将是正确的“不可知论”方法。一个比另一个更受欢迎吗?
例如,我的模板输出:
<h3>By tridion: (ASP.NET) tag</h3>
<tridion:ComponentPresentation runat="server"
PageURI="tcm:7-1535-64"
ComponentURI="tcm:7-1533"
TemplateURI="tcm:7-1532-32"/>
<h3>By tcdl: tag</h3>
<tcdl:ComponentPresentation
PageURI="@@Page.ID@@"
type="Dynamic"
ComponentURI="tcm:7-1533"
TemplateURI="tcm:7-1532-32"/>
<h3>by render component presentation</h3>
@@RenderComponentPresentation('tcm:7-1533','tcm:7-1532-32')@@
这些在文件系统上转换为以下内容。
<h3>By tridion: (ASP.NET) tag</h3>
<tridion:ComponentPresentation runat="server"
PageURI="tcm:7-1535-64"
ComponentURI="tcm:7-1533"
TemplateURI="tcm:7-1532-32"/>
<h3>By tcdl: tag</h3>
<tridion:ComponentPresentation runat="server"
PageURI="tcm:7-1535-64"
ComponentURI="tcm:7-1533"
TemplateURI="tcm:7-1532-32"/>
<h3>by render component presentation</h3>
<tridion:ComponentPresentation runat="server"
PageURI="tcm:7-1535-64"
ComponentURI="tcm:7-1533"
TemplateURI="tcm:7-1532-32"/>
每个都呈现交付端,以便用户在浏览器中看到正确的 CP。
问题):
任何方法都可以让我们获得从 PT 引用的 DCP,其格式不可知,可以在演示端检索,避免全站点发布。它实际上不在页面上,因此我们必须确保使用动态 CT 发布徽标(在本例中为 html 片段)。我错过了什么吗?
RenderComponentPresentation() 是优先于 TCDL 还是特定的表示端语法?有什么我真正想要的理由
<tridion:ComponentPresentation runat="server">
吗?
编辑:我错过了Type="Dynamic"
属性和值,还有片刻认为 RenderComponentPresentation 没有创建正确的 CP 引用。