我正在尝试设计一个组件模板,使作者能够对属于关联模式的所有字段执行内联编辑。如果相关模板显示关联模式中的所有字段,这将是直截了当的。
可能最好我用一个例子解释自己。该网站有一个新闻栏目,为了这个例子,让我们说新闻文章架构有标题,摘要,正文和日期。我希望用户能够通过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>
或者是否有更好/更简单的方法来实现我想要实现的目标?
由于
菲尔
答案 0 :(得分:5)
无法轻易覆盖“添加文字”标签。 但是你可以在tcdl:ComponentField标签之前输出你想要的标签。
例如:
<div>Summary: <tcdl:ComponentField name="Summary"></tcdl:ComponentField></div>