【发布时间】:2012-08-23 22:44:15
【问题描述】:
这是关于使用 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>
}
}
}
【问题讨论】:
标签: razor tridion tridion-2011 siteedit