Cursos Magento

Editor de conteúdo do Magento 1 remove tags do meu html. Como resolver?

,

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. 😉

Últimos posts por Ricardo Martins (exibir todos)
Assuntos: | | |
Comentários

Deixe seu comentário

[fbcomments url="https://www.magenteiro.com/blog/magento-1/estendendo-tinymce/"]