使用TinyMce避免条带特定属性

时间:2017-01-26 14:02:44

标签: tinymce prestashop

我想添加以下内容

<label for="tab1">Product Name</label>

在Prestashop的长产品描述中,但是当我保存产品时,“for”属性被从HTML代码中删除。

我做了一些研究,发现编辑器是TinyMCE,所以我尝试通过添加来改变配置:

extended_valid_elements : "+@[class|name|id|for]",

在TinyMCE init脚本中,但结果是一样的。我确信我没有使用旧脚本的缓存版本,因为我禁用了Chrome缓存并检查了javascript代码是否正确。

你知道吗?

这是完整的配置脚本:

default_config = {
        selector: ".rte" ,
        plugins : "colorpicker link image paste pagebreak table contextmenu filemanager table code media autoresize textcolor anchor",
        browser_spellcheck : true,
        toolbar1 : "code,|,bold,italic,underline,strikethrough,|,alignleft,aligncenter,alignright,alignfull,formatselect,|,blockquote,colorpicker,pasteword,|,bullist,numlist,|,outdent,indent,|,link,unlink,|,anchor,|,media,image",
        toolbar2: "",
        external_filemanager_path: ad+"/filemanager/",
        filemanager_title: "File manager" ,
        external_plugins: { "filemanager" : ad+"/filemanager/plugin.min.js"},
        language: iso,
        skin: "prestashop",
        statusbar: false,
        relative_urls : false,
        convert_urls: false,
        entity_encoding: "raw",
        extended_valid_elements : "+@[class|name|id|for]",
        valid_children : "+*[*]",
        valid_elements:"*[*]",
        menu: {
            edit: {title: 'Edit', items: 'undo redo | cut copy paste | selectall'},
            insert: {title: 'Insert', items: 'media image link | pagebreak'},
            view: {title: 'View', items: 'visualaid'},
            format: {title: 'Format', items: 'bold italic underline strikethrough superscript subscript | formats | removeformat'},
            table: {title: 'Table', items: 'inserttable tableprops deletetable | cell row column'},
            tools: {title: 'Tools', items: 'code'}
        }
    };

1 个答案:

答案 0 :(得分:3)

您是否尝试过添加extended_valid_elements标记而不是属性?像这样:

extended_valid_elements : "label[for]"

如果您可以从后台控制html禁用的内容,那么它是HTMLPurifier库的错误。 Preferences -> General设置为NO Use HTMLPurifier Library

如果您不想禁用该库,则必须在PrestaShop/tools/htmlpurifier/

中进行修改

也许更轻松地覆盖purifyHTML()类的Tools方法,并添加&#39; for&#39;标签的属性,在实例化库时添加它:

$config->set('HTML.AllowedAttributes', 'label.for');