允许在TinyMCE的自定义HTML属性在EPiServer(Allow custom HTML a

2019-07-30 08:01发布

只有EPiServer:

我们的客户正试图添加自定义属性在TinyMCE的编辑一个div标签 - 他们切换到HTML模式,使修改并保存网页。 那么这些属性将被删除。 这样洗HTML是TinyMCE的标准行为,并有可能将其配置为允许自定义标签的属性。

我的问题是我怎么在EPiServer配置TinyMCE的,允许自定义HTML属性? 我不认为我会在哪里能够挂接到TinyMCE中的inititialization。 并增加股利的episerver.config“安全”标签列表中没有看到任何工作(见uiSafeHtmlTags)。

例:

<div class="fb-like" data-href="http://oursite" data-send="false"></div>

就像变成

<div class="fb-like"></div>

从TinyMCE的文件,对如何添加自定义属性标签: http://www.tinymce.com/wiki.php/Configuration:extended_valid_elements

Answer 1:

我有这个类

using EPiServer.Editor.TinyMCE;

namespace SomeNamespace
{
    [TinyMCEPluginNonVisual(
        AlwaysEnabled = true, 
        EditorInitConfigurationOptions = "{ extended_valid_elements: 'iframe[src|frameborder=0|alt|title|width|height|align|name]' }")]
    public class ExtendedValidElements { }
}

而这episerver.config:

<episerver>
....
<tinyMCE mergedConfigurationProperties="valid_elements, extended_valid_elements, invalid_elements, valid_child_elements" />
</episerver>

在最近的一个项目。 它应该工作一样,如果你改变了iframe部分的div [数据HREF |数据发送。



Answer 2:

你有2种选择:

第一

[TinyMCEPluginNonVisual(EditorInitConfigurationOptions = "{ extended_valid_elements: 'div[title|data-test]' }")]

将允许titledata-test在div标签。

div[*]将允许div标签的所有属性。

第二

  • 让你在TinyMCE插件从IDynamicConfigurationOptions继承
  • 实现这样的功能:

     public IDictionary<string, object> GetConfigurationOptions(){ var customSettings = new Dictionary<string, object>(); customSettings.Add("extended_valid_elements", "div[*]"); return customSettings; } 

无需配置config文件什么(带有EPiServer的默认值,他们都是罚款)。



Answer 3:

下面是一些有用的链接,对这个问题

  • http://www.kloojed.com/2010/05/customize-the-tiny-mce-editor-options-in-episerver-cms-6
  • http://krompaco.nu/2010/05/alter-default-initoptions-for-tinymce-in-episerver-6/
  • http://world.episerver.com/Modules/Forum/Pages/thread.aspx?id=45795


Answer 4:

以下为我工作:

[TinyMCEPluginNonVisual(AlwaysEnabled = true, EditorInitConfigurationOptions = "{ extended_valid_elements: 'div[*]' }", PlugInName = "ExtendedValidElements", ServerSideOnly = true)]
public class TinyMceExtendedValidElements
{
}

没有变化配置。



文章来源: Allow custom HTML attributes in TinyMCE in EPiServer