我在 Umbraco CMS 下的模板中有到达文本编辑器字段。我放了一些类似的代码
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapse_1"><p>My text</p></a>
并保存内容,到达文本编辑器删除标签并仅保存
我的文字
文字信息。如果我删除,我知道这不是 HTML 标准中的有效 href
标记一切正常。
如何解决?
我在 Umbraco CMS 下的模板中有到达文本编辑器字段。我放了一些类似的代码
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapse_1"><p>My text</p></a>
并保存内容,到达文本编辑器删除标签并仅保存
我的文字
文字信息。如果我删除,我知道这不是 HTML 标准中的有效 href
标记一切正常。
如何解决?
有时在编辑器中允许不受限制的标记可能会导致不希望的结果,或者允许比您可能想要给予编辑器更多的控制。我猜是数据属性导致了您看到的结果,因此如果您希望通过修改 tinyMceConfig.config 文件中允许的标签列表来允许锚标签上的这些属性,您可以这样做。
您将在 config 目录中找到该文件,将其打开并向下跳至文件底部的元素。你会发现anchor标签是第一个元素,定义如下:
+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup]
允许的属性列表是在方括号内定义的,因此您可以尝试将“data-parent”和“data-toggle”属性附加到由管道字符分隔的列表末尾,如下所示:
+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup|data-toggle|data-toggle]
首先,这是 RTE 的预期工作方式。其次,如果您想覆盖此行为,您必须为整个 Umbraco 应用程序覆盖它。
这篇文章解释了如何做到这一点:http ://our.umbraco.org/wiki/how-tos/customizing-the-wysiwyg-rich-text-editor-(tinymce)/allow-any-markup-in-the- tinymce 编辑器
简而言之,在 config/umbracoSettings.config 文件中,找到并设置以下行:
<TidyEditorContent>False</TidyEditorContent>
然后,将validElements
行更改为:
<validElements><![CDATA[*[*]]]></validElements>
编辑:
正如 Pronotion 在接受的答案中所说,这实际上应该只在需要完全控制添加到 RTE 中的标记时使用,并且可能导致不希望的结果。