Sitecore 8.2:为什么富文本编辑器将内部 Sitecore 链接包裹在双锚标记中?

Sitecore 8.2: Why does the Rich Text editor wrap internal Sitecore-links in dual anchor-tags?

案例:

在 Sitecore 上 8.2 Update-2 修订版。 161221 安装,当使用富文本编辑器和 Insert Sitecore Link 按钮插入内部 link 时,如下所示:

生成的 html 最终将 link 包装在 1 个过多的锚标签中,如下所示:

Test test <a><a href="~/link.aspx?_id=EA62777446C048E186B95D43115E22AA&amp;_z=z">Link</a></a>&nbsp;test&nbsp;Test test test

有时还会在单击带有文本 "Link" 的按钮时替换所选文本(完全删除最初选择的文本)。怎么办?

找到了解决方案——简而言之,从文件底部删除以下代码~/sitecore/shell/Controls/Rich Text Editor/RTEfixes.js :

(function () {
    if (!window.Telerik) return;
    var $T = Telerik.Web.UI;
    var Editor = $T.Editor;
    Editor.UnlinkCommand = function (editor, options) {
        var settings = {
            tag: "a",
            altTags: []
        };
        Editor.UnlinkCommand.initializeBase(this, [editor, settings, options]);
    };
    Editor.UnlinkCommand.prototype = {
        getState: function (wnd, editor, range) {
            var states = Editor.CommandStates;
            var result = Editor.UnlinkCommand.callBaseMethod(this, "getState", [wnd, editor, range]);
            return result === states.Off ? states.Disabled : states.Off;
        }
    };
    Editor.UnlinkCommand.registerClass("Telerik.Web.UI.Editor.UnlinkCommand", Editor.InlineCommand);
    Editor.UpdateCommandsArray.Unlink = new Editor.UnlinkCommand();
})();

让我失望的是尝试升级到 Sitecore 8.2 Update-5 rev。 170728 并查看差异。在这里,上面的块被删除了。 但是Telerik.Web.UI 包似乎也是从 2014.1.403.45 version 2017.2.621.45 意思是,我可能坏了一些东西。

从未真正调查过 - 乍一看 javascript,似乎有一些 "unlinking" 的修复程序,在将 Telerik 控件设置为日期。我尝试添加一些杂项。链接(内部 + 外部)并使用功能区中的 Remove Link 按钮再次删除它们,它似乎工作得很好。如果有人可以详细说明此修复可能是什么,请告诉。

此外,如果任何 Sitecore 员工可以解释为什么这个明显的错误从未记录在 Update-2 的 "Known issues" 和 Update-3、-4 或 -5 的发行说明中,我是洗耳恭听,因为这本可以为我们节省数小时的调试时间。