我们经常需要 Tridion 相关代码中的特定项目(架构、模板或组件)。模板、内容交付、工作流或业务连接器(核心服务)经常需要引用 Tridion Content Manager URIs .我们可以链接到组件,但我通常会看到其他所有内容的硬编码值或 WebDAV URL。
硬编码值
我知道硬编码 Tridion 内容管理器( native )URI 是一种不好的做法,除了以下几种情况:
我们尽可能使用给定的 API 或 WebDAV URL 来引用项目,否则我们必须避免在引用 TCM URI 的任何内容上使用 Content Porter(或以某种方式使这些引用在 Tridion 之外“可配置”)。
WebDAV URL
WebDAV URLs由于以下几个原因,似乎更好:
用例
除了具有与 Content Porter 配合良好的模板之外,我还想本地化较低出版物中的文件夹和/或结构组。这可以帮助:
一种方法
为了使引用“内容搬运工友好”,至少对于模板构建块,我知道我们可以在组件中使用 WebDAV Urls,确保将每个路径本地化到 child 出版物中的正确位置。例如:
只要我们设置发布元数据并将字段本地化为每个发布的正确路径,这将适用于大多数情况。
问题
我相信我们可以选择使用 包括 或 map unmanaged URI in template code .
#include
的例子方法? 我是否在 TBB 和/或 DWT 的顶部使用它,并且无论模板介体如何,引用都会被替换(例如,这是否可以与 XSLT 介体、Razor 介体等一起使用?)最佳答案
我倾向于遵循一些简单的规则......
Publication.WebDavUrl
或 PublicationData.LocationInfo.WebDavUrl
获取 URL 的其余部分 xlink:href
内容)。 我还倾向于使用“配置页面”进行内容交付,并使用一个模板输出我可能需要从内容交付应用程序“知道”的 TCM ID。然后在运行时将其作为一组配置变量或字典或一组常量加载(我想这取决于我那天的感受)。
关于tridion - 避免在 Tridion 相关代码中使用硬编码的 TCM URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14541895/