页面编辑器中的Sitecore富文本字段在包含HTML格式时不可编辑

问题描述 投票:4回答:2

我有许多可在页面编辑器中编辑的字段。其中一个是富文本字段。这是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中编辑该字段,但该区域在页面编辑器中无法点击。

html sitecore glass-mapper page-editor
2个回答
6
投票

当您在<p>标记内放置可编辑的富文本时,这是一个已知问题。

<p>标签中不允许有大量的html标签。这就是您的浏览器关闭<p>标记并破坏可编辑富文本功能的原因。

删除<p>周围的@Editable标签。


0
投票

这是一个已知的问题,但是找出哪个p标签导致问题的最快方法(很可能是围绕@editable),打开开发工具并查看控制台是否存在错误。希望这可以帮助

© www.soinside.com 2019 - 2024. All rights reserved.