使用XSLT组件模板时访问类别的子关键字

Mar*_*per 10 tridion

在最近从Tridion 2009升级到2011年期间,部分XSLT组件模板停止工作.

组件模板从当前发布XML的categoryXSD部分读取子关键字.然后使用webdav加载每个关键字.

看来,该出版物XML的这一部分已于2011年删除.

有没有人知道在使用XSLT模板时从Category Tcm Id获取子关键字的另一种方法?

Chr*_*ers 3

如果我在使用旧式 XSLT 组件模板时需要项目列表,我通常会创建一个“Helper”服务或 ASPX 页面,它返回包含相关项目的 XML 文档。然后,您可以使用 XSLT 中的 Document() 函数调用该帮助器。通常,这采用存储在 CMS 服务上的 ASPX 形式,类似于http://tridion.local.url/web/helpers/GetListXml.aspx?uri=SomeOrgItemURI

您可以使用 GetListXml.aspx 中的 TOM API 通过 GetListItem 查询项目并将响应写入输出。

然后在您的 XSLT 中您可以使用类似<xsl:variable name="KEYWORDS" select="document('http://tridion.local.url/web/helpers/GetListXml.aspx?uri=$CAT_URI')"/>. 然后,您可以迭代新变量中的关键字节点。

但是,如果您使用 SDL Tridion World 上提供的模块化模板和XSLT 中介器,则这些都不是必需的,因为内置了许多帮助程序。我强烈建议考虑较新的模板技术,它们可以提供很多功能。