8

假设我有一个使用集合模式的组件,并且该组件与两个相反的组件模板一起使用,例如:

组件:产品 A

模板一:产品营销

模板二:产品支持

通过动态组件链接,我希望能够使用组件的 tcm uri 指定指向内容所在位置的超链接(使用 dreamweaver 模板,即<a href="tcm:11-xxxx">Link text</a>

问题是,如果生成的链接指向我正在处理的网站的错误部分,即指向产品营销部分中的产品支持的链接,反之亦然。

我已经尝试设置模板的链接优先级......都设置为高......但 Tridion 似乎使用发布的最后一个模板来决定链接应该去哪里。

另外,如果我将其中一个模板设置为中等,另一个设置为高,它只会使用具有最高优先级的模板获取指向内容的链接(即所有链接到产品支持,即使在产品营销部分)

有谁知道如何解决这个问题?谢谢!

4

2 回答 2

8

您的问题与已发布的组件演示文稿的上下文有关。SDL Tridion 按如下方式解决目标 CP 的优先级(如果有多个匹配项,则仅移动到下一步):

  1. 找到优先级最高的 CP(你有 2 个优先级高)
  2. 通过查看当前的结构组 (SG)、子 SG、同级 SG 等,找到最接近当前页面的那个。(您似乎也有 2 个)
  3. 最后的后备方案是它链接到最近发布的一个(这就是你所看到的)

这通常是由于您有一个实际上不在页面上的动态组件演示 (DCP),或者由于某种原因在您的链接代码中未设置页面 ID,因此它无法计算当前的位置CP,因此必须从上面跳过步骤 (2)。

这可能无法帮助您解决问题,但它确实解释了您所看到的。所以我可以提供更多帮助,请解释您正在发布的内容(它是 DCP 吗?),并可能查看发布的代码并检查是否已将页面 URI 添加到链接代码中(并确保它不是 tcm :0-0-0)。

于 2012-05-22T15:30:15.677 回答
8

除了 Chris 评论之外,您还可以使用 tridion:excludetemplateuri 属性来精确控制您可以链接到哪个组件模板,具体取决于您的营销或支持需求。

在 DWT .. 你可以使用这样的东西。

<a tridion:href="tcm:8-299" tridion:excludetemplateuri="tcm:8-420-32">linkText</a>

这是供参考的链接

于 2012-05-22T15:38:23.430 回答