У меня есть несколько полей, которые можно редактировать в редакторе страниц. Одним из них является форматированное текстовое поле. Это 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, но в редакторе страниц эта область недоступна.
<p>
вокруг @Editable. Я думаю, что это может быть связано с тегами html, которые не разрешены внутри тега<p>
и из-за которых браузер закрывает тег<p>
и нарушает функциональность съедобного форматированного текста. - person Marek Musielak   schedule 21.12.2017