在具有组件链接的组件上使用SiteEdit / TridionUI 2012启用内联编辑

时间:2013-01-10 22:43:18

标签: tridion

在Tridion 2011(使用UI 2012)中,我有一个组件,其中的字段是组件链接列表。我想在通过Component Link引入的其中一个字段上启用内联编辑。这可能吗?

我能够为其他非组件链接字段启用内联编辑,但CL似乎是一个问题。我首先尝试了tcdl语法,但是没有生成有效的SiteEdit组件字段标记。最后,我尝试编辑页面上的Start Component Field注释,看看我是否能找到一个有效的语法,但没有提出任何有效的方法。

有什么想法吗?

2 个答案:

答案 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文档,我们可以提供进一步的帮助。