TinyMCE删除了PrestaShop 1.6中的数据标签

时间:2015-07-09 11:54:02

标签: javascript tinymce prestashop-1.6

我试图在" a"中添加一些数据标签。标签,因为我想使用Lightbox;我需要包含data-lightbox =" gallery"在那些标签中。 无论我尝试过什么,它们总是被删除,即使是" rel"属性被删除(" rel"可以用来代替" data-lightbox")。

当我在PrestaShop上工作时,我修改了js / admin / tinymce.inc.js。该文件实际上已加载。

TyniMCE的配置文件如下:

function tinySetup(config)
{
    if(!config)
        config = {};

    var editor_selector = 'rte';
    if (typeof config['editor_selector'] !== 'undefined')
        config['selector'] = '.'+config['editor_selector'];

    default_config = {
        selector: ".rte" ,
        plugins : "visualblocks,preview,searchreplace,print,insertdatetime,hr,charmap,colorpicker,anchor,code,link,image,paste,pagebreak,table,contextmenu,filemanager,table,code,media,autoresize,textcolor,emoticons",
        toolbar2 : "newdocument,print,|,bold,italic,underline,|,strikethrough,superscript,subscript,|,forecolor,colorpicker,backcolor,|,bullist,numlist,outdent,indent",
        toolbar1 : "styleselect,|,formatselect,|,fontselect,|,fontsizeselect,",
        toolbar3 : "code,|,table,|,cut,copy,paste,searchreplace,|,blockquote,|,undo,redo,|,link,unlink,anchor,|,image,emoticons,media,|,inserttime,|,preview ",
        toolbar4 : "visualblocks,|,charmap,|,hr,",
        external_filemanager_path: ad+"/filemanager/",
        filemanager_title: "File manager" ,
        external_plugins: { "filemanager" : ad+"/filemanager/plugin.min.js"},
        valid_elements : "a[href|data|style|class|id|rel|data*|data-lightbox]",
        valid_children:   "+body[style|script|iframe|section],pre[iframe|section|script|div|p|br|span|img|style|h1|h2|h3|h4|h5],*[*]",
        verify_html: false,
        force_p_newlines : false,
        forced_root_block : false,
        force_br_newlines : true,
        convert_urls:true,
        relative_urls:false,
        remove_script_host:false,
        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'}
        }
    }

    $.each(default_config, function(index, el)
    {
        if (config[index] === undefined )
            config[index] = el;
    });

   tinyMCE.init(config);
}

$().ready(function() {
   tinySetup();
});

为简单起见,我正在使用纯粹的标签进行测试。我尝试过valid_elements:" * [*]&#34 ;;清理:错误选项,当然,没有成功。

如上所述,正确的配置文件已加载,正在运行:如果我删除了,请说," href"来自允许元素的属性,在保存时也会从编辑器中删除。所以它实际上正在做点什么。

但问题是:从不允许使用data-lightbox或rel。

我错过了什么?谢谢你提前。

2 个答案:

答案 0 :(得分:0)

只需在设置中停用HTMLPurifier。

答案 1 :(得分:0)

您可以为此使用rel_list

rel_list: [
   {title: 'None', value: ''},
   {title: 'Rel lightbox', value: 'data-lightbox'}
],

https://www.tiny.cloud/docs/plugins/link/#rel_list