4

我们目前正在实施一个支持新 UI/XM(体验管理器)的新站点。目前,虽然似乎不可能向我们的“文章”组件添加“段落”(这是一个多值嵌入式模式)。我想这样的基本功能会起作用。

此外,我们有一个组件链接到多值组件链接字段中的多个其他组件。这些单独链接的组件是可编辑的(它们使用 渲染RenderComponentPresentation()),但我们不能将新的组件链接添加到多值字段。

任何人都知道如何让这个工作?

亲切的问候

编辑:这将在 2013 SP1 中修复!

4

3 回答 3

7

目前在 Tridion 的 Experience Manager UI 中无法添加多值嵌入模式。我建议在表单视图中打开组件以添加段落。

如果您认为 SDL 添加您错过的功能是个好主意,您可以在以下网址提出建议:http: //ideas.sdltridion.com

于 2012-12-03T12:36:53.587 回答
3

根据文档(需要密码,有关详细信息,请参阅http://docportal.sdl.com/sdltridion),您应该在 DWT 模板中使用以下内容:

<!-- TemplateBeginRepeat name="fieldname" -->
  @@RenderComponentField("fieldname", TemplateRepeatIndex)@@
<!-- TemplateEndRepeat -->

但这对组件链接来说不是很有用,因为它只是在模板中呈现 TCMURI,因此您可能希望它成为动态链接,然后您可以在 DWT 模板中使用以下内容:

<!-- TemplateBeginRepeat name="fieldname" -->
  <tcdl:ComponentField name="fieldname" index="${TemplateRepeatIndex}">
    <a href="#" tridion:href="@@Field@@" tridion:type="Component">@@Field@@</a>
  </tcdl:ComponentField>
<!-- TemplateEndRepeat -->

如果您需要该链接中链接组件的标题,则可以使用Dreamweaver Get eXtension (DGX)等。

现在这将为您提供所有可编辑字段的值,当您编辑其中一个字段时,您会在字段属性的左上角看到一个绿色加号按钮,您可以从中添加新值(您将看到一个字段属性顶部的删除和移动按钮)。XPM 中多值字段的字段属性

请注意,如果您的多值字段最初是空的,您必须确保有一个 tcdl 标签允许 XPM 理解它应该在那里显示字段编辑属性,您可以使用这样的东西:

<!-- TemplateBeginIf cond="CollectionLength('Field.Values') == 0" -->
  <tcdl:ComponentField name="${Field.Name}"></tcdl:ComponentField>
<!-- TemplateEndIf -->

有关内联编辑的更多详细信息,请参阅文档

编辑:

似乎我有点误解了这个问题,正如弗兰克提到的不幸的是,XPM 目前无法添加多值可嵌入字段集。我很想使用以下构造,它允许我编辑所有字段,但是多值按钮丢失了(因为不支持):

<!-- TemplateBeginRepeat name="fieldname" -->
  <tcdl:ComponentField name="fieldname" index="${TemplateRepeatIndex}">
    <!-- TemplateBeginRepeat name="Field.embeddableFieldname1" -->
      @@RenderComponentField(FieldPath+".embeddableFieldname1", TemplateRepeatIndex)@@
      -
      @@RenderComponentField(FieldPath+".embeddableFieldname2", TemplateRepeatIndex)@@
    <!-- TemplateEndRepeat -->
  </tcdl:ComponentField>
<!-- TemplateEndRepeat -->
于 2012-12-03T11:17:29.560 回答
-1

我使用此代码来呈现多值嵌入式段落模式的字段,它在 XPM 中工作得很好:

<!-- TemplateBeginRepeat name="Fields.Paragraph" -->
    @@RenderComponentField("Fields.Paragraph[${TemplateRepeatIndex}].Body", 0)@@
<!-- TemplateEndRepeat -->
于 2013-08-20T18:11:40.693 回答