我正在使用 XSLT 中介器在 SDL Tridion 2011 SP1 中处理 XSLT 模板构建块。
我只是想知道,如何在渲染时获取组件的名称、版本及其 TCMID。
任何人都可以帮助它如何完成?
我正在使用 XSLT 中介器在 SDL Tridion 2011 SP1 中处理 XSLT 模板构建块。
我只是想知道,如何在渲染时获取组件的名称、版本及其 TCMID。
任何人都可以帮助它如何完成?
清楚地观察模板生成器中的输出后,我得到了答案
<xsl:element name="TCMID">
<xsl:value-of select="tcm:Component/@ID"/>
</xsl:element>
<xsl:element name="name">
<xsl:value-of select="tcm:Component/tcm:Data/tcm:Title"/>
</xsl:element>
<xsl:element name="Version">
<xsl:value-of select="tcm:Component/tcm:Info/tcm:VersionInfo/tcm:Version"/>
</xsl:element>
可能不是您问题的完整答案,但 Package Items 应该可用作模板的参数。因此,如果您需要访问不在组件 XML 中的值,您可以在运行 XSLT TBB 之前将其添加到包中。
访问组件的非字段值困扰着许多开发人员。这并不奇怪,因为没有明显的方法可以从 UI 中查看组件的完整 XML。CME(SDL Tridion CM 用户界面)中的源选项卡仅显示 XML 中内容节点的 XML,不显示完整的 XML。
为了查看完整的 XML(无需通过 API 加载),您有多种选择。从最简单的开始,包括:
<xsl:copy-of select="."/>
. 这会将整个组件 XML 写入模板输出,然后您可以在编写 XSLT 时将其保存以供参考。一旦可以访问 XML,查找任何 Tridion 对象的任何属性就变得非常直观。