2017-01-26 3 views
0

Ich mag den folgenden InhaltVermeiden Streifen spezifische Attribute mit TinyMce

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

in einer langen Produktbeschreibung in Prestashop hinzuzufügen, aber wenn ich das Produkt der „für“ Attribute speichere abgestreift von HTML-Code entfernt.

habe ich einige der Forschung, und ich fand, dass der Editor TinyMCE ist und so habe ich versucht, die Konfiguration zu ändern und fügte hinzu:

extended_valid_elements : "[email protected][class|name|id|for]", 

innerhalb TinyMCE Init-Skript, aber das Ergebnis ist das gleiche. Ich bin mir sicher, dass ich die zwischengespeicherte Version des alten Skripts nicht verwendet habe, da ich den Chrome-Cache deaktiviere und überprüfe, dass der JavaScript-Code korrekt ist.

Haben Sie eine Idee?

Hier ist es die volle Konfigurationsskript:

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 : "[email protected][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'} 
     } 
    }; 
+0

Welche Version von Prestashop verwenden Sie? – sarcom

Antwort

3

Waren Sie schon in extended_valid_elements den Tag hinzuzufügen versucht, und nicht das Attribut? Wie folgt aus:

extended_valid_elements : "label[for]" 

Es ist ein Fehler von HTMLPurifier Bibliothek, wenn Sie die Kontrolle über den Inhalt der HTML-Code aus dem Back-Office deaktivieren haben. Preferences -> General auf NO gesetzt Use HTMLPurifier Library

Wenn Sie nicht wollen, um die Bibliothek zu deaktivieren, müssen Sie in PrestaShop/tools/htmlpurifier/

bearbeiten Vielleicht ist es einfacher, die purifyHTML() Methode der Tools Klasse außer Kraft zu setzen, und fügen Sie den ‚für‘ Attribut für das Label, das beim Instanziieren der Bibliothek hinzugefügt wird:

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

Ja, tut mir leid, ich habe vergessen, es zu erwähnen, auch mit dieser Einstellung funktioniert nicht. – Drake

+1

Sorry, es ist nicht Tinymce Fehler, sondern HTMLPurifier-Bibliothek – sarcom

+0

Am Ende habe ich die HTML-Reiniger-Bibliothek deaktiviert, weil es auch andere HTML-Teile ändern, die ich nicht mag. Vielen Dank! – Drake