Editor de conteúdo do Magento 1 remove tags do meu html. Como resolver?
Desenvolvimento, Magento 1
Publicado em 20 de agosto de 2019
Ao editar um conteúdo HTML de uma página ou bloco, algumas tags do seu HTML podem ser removidas automaticamente ao salvar.
O problema
Isso ocorre porque o editor TinyMCE vem preparado para eliminar qualquer tag que não esteja na lista de tags aceitas.
Como resolver do jeito certo?
Como o arquivo/classe que faz as configurações das tags pertence ao core do Magento (js/mage/adminhtml/wysiwyg/tiny_mce/setup.js
), nós não devemos alterá-la diretamente.
E sobrescrever ou estender classes JavaScript no Magento não é um assunto amplamente abordado por aí.
Eu disse “por aí”…
No curso Torne-se um desenvolvedor Magento Front End (com Bootstrap 4) a gente fala disso na Aula 18. Assista a aula gratuitamente aqui e veja como estender funcionalidades JavaScript no Magento 1.
Resolvendo
Tudo que precisamos fazer é inserir um JS nas páginas que tem o editor TinyMCE com a seguinte configuração:
tinyMceWysiwygSetup.prototype.originalGetSettings = tinyMceWysiwygSetup.prototype.getSettings; tinyMceWysiwygSetup.prototype.getSettings = function(mode) { var settings = this.originalGetSettings(mode); //adicione as tags que precisa aqui separadas por | settings.extended_valid_elements = 'nav'; return settings; }
Se olhar o arquivo anterior (js/mage/adminhtml/wysiwyg/tiny_mce/setup.js
) poderá ver como as tags html e propriedades aceitas são definidas.
var settings = { schema : 'html5', valid_elements : "" +"a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|lang|name" +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
Tudo que precisa fazer é repetir o formato na propriedade extended_valid_elements seguindo o mesmo formato.
Facilitando sua vida…
Deixo aqui um módulo pronto que estende o suporte do editor TinyMCE do Magento 1, adicionando suporte à tag <nav>
. Fique à vontade para baixá-lo e modificar conforme suas necessidades.
Espero que goste e seja útil. 😉
- PagSeguro (PagBank) para Magento 1 recebe a Nova Geração - 9 de abril de 2024
- Recorrência no WooCommerce Sem Plugins Pagos - 28 de janeiro de 2024
- Chargeback. O que é, e como se livrar deles. - 19 de dezembro de 2023
Deixe seu comentário
[fbcomments url="https://www.magenteiro.com/blog/magento-1/estendendo-tinymce/"]