在Tridion 2011(使用UI 2012)中,我有一个组件,其中的字段是组件链接列表。我想在通过Component Link引入的其中一个字段上启用内联编辑。这可能吗?
我能够为其他非组件链接字段启用内联编辑,但CL似乎是一个问题。我首先尝试了tcdl语法,但是没有生成有效的SiteEdit组件字段标记。最后,我尝试编辑页面上的Start Component Field注释,看看我是否能找到一个有效的语法,但没有提出任何有效的方法。
有什么想法吗?
答案 0 :(得分:5)
Nick在您链接的组件上调用RenderComponentPresentation
的解决方案应该可以正常工作。通常,为RenderComponentPresentations
调用链接的组件应该被认为是一种很好的做法,因为您毕竟渲染了另一个组件演示文稿。
但是如果你想控制生成的确切标签,你也可以这样做。当我需要这种控制级别时,我创建了一些直接输出注释的自定义函数,而不是摆弄tcdl
。
使用这些功能的DWT代码段:
<div class="ContentArea">
<div class="ContentFull">
@@MarkComponentPresentation()@@
<h1>@@MarkComponentField('Title')@@@@Component.Fields.Title@@</h1>
<div>@@MarkComponentField('Image')@@<img src="@@Image.ID@@"/></div>
<div class="FullDescription">
<div class="FullDescriptionText">@@MarkComponentField('Description')@@@@Component.Fields.Description@@</div>
</div>
...
因此,这使用MarkXxx
代替常规RenderXxx
来输出评论。
您可以在Google代码的Tridion Practice wiki上找到这些功能的代码: http://code.google.com/p/tridion-practice/wiki/TridionUI2012FunctionsForUseInHtmlTemplates
答案 1 :(得分:4)
如果使用@@RenderComponentPresentation(componentTcmId, comonentTemplateId)@@
呈现此链接组件,则为组件TBB启用内联编辑将添加正确的UI标记,您将能够编辑嵌套组件。
您尝试手动渲染内联编辑命令的方法应该有效。我怀疑它不适合你的原因是由于一些语法错误或无效/缺少参数值。
如果您共享整个呈现的HTML文档,我们可以提供进一步的帮助。