使用2个模板链接动态组件

时间:2012-05-22 15:19:04

标签: tridion

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

组件:产品A

模板一:产品营销

模板二:产品支持

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

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

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

另外,如果我将其中一个模板设置为中等,另一个模板设置为高,则只需使用具有最高优先级的模板(即所有链接转到产品支持,即使在产品营销部分中)链接到内容< / p>

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

2 个答案:

答案 0 :(得分:8)

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

  1. 查找优先级最高的CP(优先级高2)
  2. 通过查看当前的结构组(SG),子SG,兄弟SG等找到最接近当前页面的那个(你似乎也有2个)
  3. 最后的后备方案是它链接到最近发布的一个(这就是你所看到的)
  4. 这通常是由于您有动态组件演示(DCP)实际上不在页面上,或者由于某种原因未在链接代码中设置页面ID,因此它无法计算位置当前的CP,因此必须从上面跳过步骤(2)。

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

答案 1 :(得分:8)

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

在DWT中

你可以使用这样的东西。

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

以下是link for reference