【问题标题】:How to get the Name, version, tcm id of the component in XSLT TBB如何在 XSLT TBB 中获取组件的名称、版本、tcm id
【发布时间】:2012-05-21 16:24:57
【问题描述】:

我正在使用 XSLT 中介器在 SDL Tridion 2011 SP1 中开发 XSLT 模板构建块。

我只是想知道,如何在渲染时获取组件的名称、版本及其 TCMID。

任何人都可以帮助如何做到这一点?

【问题讨论】:

    标签: tridion tridion-2011


    【解决方案1】:

    访问组件的非字段值困扰着许多开发人员。这并不奇怪,因为没有明显的方法可以从 UI 中查看组件的完整 XML。 CME(SDL Tridion CM 用户界面)中的源选项卡仅显示 XML 中内容节点的 XML,不显示完整的 XML。

    为了查看完整的 XML(无需通过 API 加载),您有多种选择。从最简单的开始,包括:

    1. 使用 XSLT 使用 <xsl:copy-of select="."/> 之类的东西写出组件的根节点。这会将整个组件 XML 写入模板输出,然后您可以在编写 XSLT 时将其保存以供参考。
    2. 使用 CMS 服务器上的协议处理程序访问组件 XML,方法是在 Internet Explorer 中键入 URI,它应该会显示完整的 XML。
    3. 安装SDL Tridion PowerTools,它会在显示 XML 的项目视图上安装一个选项卡。

    一旦您可以访问 XML,查找任何 Tridion 对象的任何属性变得非常直观。

    【讨论】:

      【解决方案2】:

      在模板生成器中清楚地观察输出后,我得到的答案是

      <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>
      

      【讨论】:

      • 是的,该组件提供了很多信息。要查看其完整源代码,请使用&lt;xsl:copy-of select="tcm:Component"/&gt;。然后,您可以根据需要“XPath”到其他变量。
      【解决方案3】:

      可能不是您问题的完整答案,但包项应该可以用作模板的参数。因此,如果您需要访问不在组件 XML 中的值,您可以在运行 XSLT TBB 之前将其添加到包中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-19
        • 2022-12-18
        • 1970-01-01
        • 2012-06-14
        • 1970-01-01
        • 1970-01-01
        • 2015-11-29
        相关资源
        最近更新 更多