Tridion 什么';TCDL链接属性的正确格式是什么?

Tridion 什么';TCDL链接属性的正确格式是什么?,tridion,tridion-content-delivery,Tridion,Tridion Content Delivery,我可以看到技术独立有以下参数,这些参数在SDL Live内容中有很好的描述 类型 起源 目的地 templateURI 链接属性 textOnFail addAnchor 瓦里亚蒂德 如何为linkAttributes添加多个属性值对?具体来说,我们使用什么来转义双引号以及单独的对(例如,如果我们需要class=“someclass”和onclick=“someevent”)。编辑:在我解决了你真正的问题后,答案简单得多: 您应该将linkAttributes中的值用单引号括起来。通常可以很

我可以看到技术独立有以下参数,这些参数在SDL Live内容中有很好的描述

  • 类型
  • 起源
  • 目的地
  • templateURI
  • 链接属性
  • textOnFail
  • addAnchor
  • 瓦里亚蒂德
如何为linkAttributes添加多个属性值对?具体来说,我们使用什么来转义双引号以及单独的对(例如,如果我们需要class=“someclass”和onclick=“someevent”)。

编辑:在我解决了你真正的问题后,答案简单得多:

您应该将
linkAttributes
中的值用单引号括起来。
通常可以很好地处理
linkAttributes
中的空格;但如果没有,则使用
%20
逃逸

如果您需要更多的东西或想要标准的
tcdl:ComponentLink
无法处理的东西,请记住,您可以创建自己的tcdl标记,并使用
TagHandler
TagRenderer
(在文档中查找示例或搜索Jaime关于
TagRenderer
的文章)做你想做的事


我最初的回答是一个你没有问过的问题:TCDL标签的格式是什么(一般来说)。但这一解释可能对某些人仍然有用,因此下文将继续

我建议查看默认构建块(例如,默认完成操作中的链接解析器TBB)的输出格式,并将其用作指导

这是我可以从已发布页面的传输包中快速获得的信息:

<tcdl:Link type="Page" origin="tcm:5-199-64" destination="tcm:5-206-64" 
           templateURI="tcm:0-0-0" linkAttributes="" textOnFail="true" 
           addAnchor="" variantId="">Home</tcdl:Link>

<tcdl:ComponentPresentation type="Embedded" componentURI="tcm:5-69" 
                            templateURI="tcm:5-133-32">
  <span>
  ...
主页
...
我从经验中了解到的一件事是:您的整个TCDL标记必须在一行上(我将上面的行包装起来只是为了可读性)。或者,如果它用于调用REL TagRenderer,则至少是这样。显然,上面的
tcdl:ComponentPresentation
标记将跨越多行,因此“单行规则”并不适用于任何地方


这可能是最好的建议:考虑到TCDL标记在Tridion发布、部署和交付管道中的多个点进行处理,我会坚持默认TBBs输出的格式。从我的示例来看,这似乎是:将所有内容放在一行上,并将值用(双)引号括起来。

这些单独的对只是用空格分隔的,就像一系列正常的属性一样。但是,请尝试使用XML编码
linkAttributes
的值。所以,
变成了
"e;
,等等


如果您正在使用一些Javascript,您可能也会注意Javascript引号,如
\“

您尝试了哪些不起作用的内容?因为如果你还没有尝试任何东西,那将是一个很好的开始。如果你尝试了不起作用的东西,告诉我们怎么样?