Использование нескольких RenderComponentPresentations для шаблонов XPM с Razor

Как вы, наверное, уже знаете, я работаю над некоторыми шаблонами XPM с Razor. Я столкнулся с другой проблемой, на этот раз относительно рендеринга компонентов внутри шаблонов, чтобы сделать их siteEditable.

В следующем я не уверен. У меня есть компонент, который имеет поле заголовка под названием "Заголовок" и многозначные поля компонентных ссылок, которые состоят из компонентов с заголовком, описанием и изображением. Давайте пока назовем это "Связанный USP".

В настоящее время это визуализируется с помощью шаблона под названием "Page Banner", и он просто перебирает поля с некоторыми циклами If, чтобы определить его представление, особенно для заголовка. Чтобы XPM работал, этот шаблон должен визуализировать представление компонента "Связанный USP". Итак, мы создали шаблон под названием "[XPM] USP ITEM". - к этому шаблону компонента добавлено "разрешить редактирование содержимого TBB".

Теперь возникает проблема, когда я хочу сделать заголовок редактируемым. Звучит просто, нет? Не совсем - потому что когда в родительский шаблон добавлена ​​TBB "включить редактирование контента", он добавит <span> теги для всех редактируемых полей, но шаблоны, которые вызываются внутри этого шаблона, также будут иметь <span> -Tag, эффективно раздувая HTML и делает невозможным редактировать поля внутри RenderComponentPresentation из-за дублирования <span>s.

Некоторый код для вашего удовольствия и для иллюстрации моей проблемы:

<h1>@RenderComponentField("Title", 0)</h1>

@Foreach(var linkedUSP in Fields.USPS){
     @RenderComponentPresentation("linkedUSP.ID", "tcm:10-1076-32")
}

К этому шаблону добавлено включение редактирования содержимого TBB.

Теперь для упомянутого выше RCP внутри его шаблона [XPM]:

<div class="title">@RenderComponentField("Title", 0)</div>
    <p>@RenderComponentField("Description", 0)</p>
    <tcdl:ComponentField name="img">
         <img src="@img" alt="img.MetaData.alt">
    </tcdl:ComponentField>

На этот ТАКЖЕ добавлен TBB "Enable Content Edit". На переднем конце это происходит:

<div class="title"><span><span>Men</span></span></div>

Потому что родительский шаблон также добавляет интервалы к полю.

Итак, мой вопрос: как мне это решить? Упомянутое выше поле Заголовок должно быть внутри родительского шаблона, но я не могу создать специальный шаблон для него, потому что это не ссылка на компонент. Я не могу извлечь TBB из моего шаблона RCP, потому что он не будет редактируемым. Интересно, а?

Разве я не могу как-то отключить диапазоны внутри компоновщика шаблонов?

0 ответов

Другие вопросы по тегам