这是关于使用 SDL Tridion 2011 SP1 的 Razor 模板。
为了启用 SiteEdit UI 2012,我们在 CT 中引入了标签。
我想问是否可以为tcdl:ComponentField
驻留在组件的嵌套嵌入字段内的字段制作标签。
这里我们有“footer_links”作为多值嵌入字段的组件,并且每个“footer_links”项都有一个多值嵌入字段“sub_nav”,并且想要读取 sub_nav.image 以使其套件可编辑。
但是当我执行以下操作时,为内容 TBB 启用内联编辑会引发以下错误
错误:对象引用未设置为对象的实例。在 Tridion.SiteEdit.Templating.EnableInlineEditingUI.FindItemFieldXPath(String[] 部分,Int32 currentIndex,ItemFields 字段)
有人有什么想法吗?如果我们可以实现这个?如果是,那么以下代码有什么问题?
我们也可以读取 ComponentLink 中的字段吗?帮助将不胜感激。
@for (int i=0; i<Fields.footer_links.Count; i++) {
/* "outer_image" is compLink and it workds fine */
@if(Fields.footer_links[i].outer_image != null) {
<tcdl:ComponentField name="Fields.footer_links[@i].outer_image">
<img src="@Fields.footer_links[i].outer_image.ID"/>
</tcdl:ComponentField>
}
/* "sub_nav" is Mutlivalued Embedded field and "image" is field inside it */
@for (int j=0; j<Fields.footer_links[i].sub_nav.Count; j++) {
<li>
@if(Fields.footer_links[i].sub_nav[j].image != null) {
<tcdl:ComponentField name="Fields.footer_links[@i].sub_nav[@j].image">
<img src="@Fields.footer_links[i].sub_nav[j].image.ID" />
</tcdl:ComponentField>
}
}
}