我有许多可在页面编辑器中编辑的字段。其中一个是富文本字段。这是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中编辑该字段,但该区域在页面编辑器中无法点击。
答案 0 :(得分:6)
将可编辑的富文本放在<p>
代码中时,这是一个已知问题。
<p>
标记内不允许有大量html标记。这就是您的浏览器关闭<p>
代码并破坏可编辑富文本功能的原因。
删除<p>
附近的@Editable
标记。
答案 1 :(得分:0)
这是一个已知问题,但是找出哪个p标签导致问题的最快方法(很可能是围绕@editable),打开开发工具并查看控制台是否存在错误。希望这有帮助