Поле расширенного текста Sitecore в редакторе страниц недоступно для редактирования, если оно содержит форматирование HTML
У меня есть несколько полей, которые можно редактировать в редакторе страниц. Одним из них является поле для форматированного текста. Это HTML:
@foreach (var speaker in Model.Speakers)
{
<div class="speaker__item" id="@speaker.Id">
<div class="speaker__media">
@RenderImage(speaker, x => x.Speaker_Image, isEditable: true)
</div>
<div class="speaker__info">
@if (IsInEditingMode || !string.IsNullOrEmpty(speaker.Speaker_Name))
{
<h4 class="speaker__name">@Editable(speaker, x => x.Speaker_Name)</h4>
}
@if (IsInEditingMode || !string.IsNullOrEmpty(speaker.Speaker_Title))
{
<p class="speaker__title">@Editable(speaker, x => x.Speaker_Title)</p>
}
@if (IsInEditingMode || !string.IsNullOrEmpty(speaker.Speaker_Description))
{
<div class="speaker__bio">
<p>@Editable(speaker, x => x.Speaker_Description)</p>
</div>
}
@RenderLink(speaker, x => x.Speaker_Bio, attributes: new { @class = "speaker__link" }, isEditable: true)
</div>
</div>
}
Поле расширенного текста - Speaker_Description. Когда в поле нет HTML (т. Е. Просто текст), он отображается правильно и доступен для редактирования в редакторе страниц. Если поле содержит html, например, в виде <p>
тег или включая разрывы строк, он отображается правильно, но не редактируется на странице. Я все еще могу редактировать поле в Sitecore, но эта область не щелкается в редакторе страниц.
2 ответа
Это известная проблема, когда вы помещаете редактируемый форматированный текст в <p>
тег.
Есть много HTML-тегов, которые не допускаются внутри <p>
тег. Вот почему ваш браузер закрывается <p>
помечать и нарушать функциональность редактируемого форматированного текста.
Удалить <p>
тег, который находится вокруг @Editable
,
Это известная проблема, но самый быстрый способ выяснить, какой тег p вызывает проблему (скорее всего, вокруг @editable), открыть инструменты разработчика и посмотреть на консоль на наличие ошибок. Надеюсь это поможет