Это касается Razor Templating с SDL Tridion 2011 SP1.
Чтобы включить 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>
}
}
}