6

我正在尝试设计一个组件模板,使作者能够对属于关联架构的所有字段执行内联编辑。如果相关模板显示关联模式中的所有字段,这将很简单。

最好我用一个例子来解释自己。该网站有一个新闻部分,为了这个例子,假设新闻文章模式有一个标题、摘要、正文和日期。我希望用户能够通过 Tridion UI 在一个地方编辑所有这些字段,而进行这种编辑的最明智的地方似乎是在新闻详细信息模板中。问题是,新闻详细信息模板需要显示标题、日期和正文,但不应该显示摘要。因此,我希望用户能够在编辑组件时查看/编辑摘要字段,但不能在其他任何时候在模板上显示摘要。

我从 Tridion UI 文档中看到,可以启用空白/非模板字段的内联编辑,如下所示:

<tcdl:ComponentField name="Summary"></tcdl:ComponentField>

这可以正常工作,因为在用户开始编辑组件之前不会显示任何内容,此时会显示值“添加文本”来代替上面的代码。从功能上讲,这很好,因为它达到了我的要求。我遇到的问题是它不是那么用户友好,因为没有标签可以向用户描述他们实际编辑的内容。在上面的示例中,问题显然不是那么糟糕,但实际上有更多类似于摘要的非模板字段,我希望用户能够在新闻详细信息页面上进行编辑,例如

<tcdl:ComponentField name="Summary"></tcdl:ComponentField>
<tcdl:ComponentField name="AnotherField1"></tcdl:ComponentField>
<tcdl:ComponentField name="AnotherField2"></tcdl:ComponentField>

当用户开始编辑组件时,这会导致以下情况:

<add text>
<add text>
<add text>

我曾尝试在 tcdl:ComponentField 标记中插入特定的渲染代码,但此布局随后会永久显示在登台站点上,例如:

<tcdl:ComponentField name="Summary">Summary: @Fields.Summary</tcdl:ComponentField> 

我想知道是否可以覆盖“添加文本”占位符内容,以便在编辑组件时显示类似于以下内容:

<Enter Summary>
<Enter Additional Field 1>
<Enter Additional Field 2>

或者有没有更好/更简单的方法来实现我想要实现的目标?

谢谢

菲尔

4

1 回答 1

5

无法轻易覆盖“添加文本”标签。但是你可以在 tcdl:ComponentField 标签之前输出你想要的标签。

例如:

<div>Summary: <tcdl:ComponentField name="Summary"></tcdl:ComponentField></div>
于 2012-08-21T08:27:27.980 回答