Можно ли редактировать компонентные ссылки в SDL Tridion UI 2012?
Один большой "Привет" для всех людей с планеты Тридион:).
Я пытаюсь сделать ссылки на компоненты редактируемыми в SDL Tridion UI 2012.
У меня есть один компонент, который содержит многозначные ссылки компонента как одно из полей.
Когда я поставлю следующее в DWT
<!-- TemplateBeginRepeat name="componentLink" -->
<!-- TemplateBeginIf cond="TemplateRepeatIndex<3" -->
<li>
<a href="#" tridion:href="@@RenderComponentField(FieldPath+"componentLink",TemplateRepeatIndex)@@">
Link${TemplateRepeatIndex}
</a>
</li>
<!-- TemplateEndIf -->
<!-- TemplateEndRepeat -->
Внутри Template Builder в результате я получил следующее:
<li><a href="#" tridion:href="<tcdl:ComponentField name="componentLink" index="0">tcm:8-625</tcdl:ComponentField>">Link0</a></li>
<li><a href="#" tridion:href="<tcdl:ComponentField name="componentLink" index="1">tcm:8-626</tcdl:ComponentField>">Link1</a></li>
<li><a href="#" tridion:href="<tcdl:ComponentField name="componentLink" index="2">tcm:8-627</tcdl:ComponentField>">Link2</a></li>
Как и ожидалось, на уровне страницы
произошла ошибка "По умолчанию".
Невозможно найти правильное значение для tridion: href
Нужно ли извлекать ссылки компонента внутри С# TBB в каком-либо предыдущем действии или каким-либо другим способом разрешить это (Включение ссылок компонента для SDL Tridion UI)?
Ответы
Ответ 1
В моем "новом UI VM" у меня есть следующий код в дизайне:
<tcdl:ComponentField name="LinkText">
<a tridion:href="@@[email protected]@">${LinkText}</a>
</tcdl:ComponentField>
Связанный компонент доступен для редактирования в новом интерфейсе. Tcdl: ComponentField обрабатывается, чтобы обернуть соответствующие инструкции редактирования контекста по ссылке. Вы должны легко перевести это на свой код...
Ответ 2
Спасибо, Джереми, вручную добавив тег <tcdl:ComponentField>
, разрешив эту проблему.
Вот окончательный код, который правильно разрешает ссылки на уровне страницы:
<!-- TemplateBeginRepeat name="componentLink" -->
<!-- TemplateBeginIf cond="TemplateRepeatIndex<3" -->
<li>
<tcdl:ComponentField name="componentLink">
<a tridion:href="@@[email protected]@">Link${TemplateRepeatIndex} </a>
</tcdl:ComponentField>
</li>
<!-- TemplateEndIf -->
<!-- TemplateEndRepeat -->