geral@slap.pt
+351 917502470

PRESTASHOP: Remover auto inserção de parágrafos

no WYSIWYG em páginas CMS

O editor WYSIWYG no Prestashop, onde criamos e editamos páginas CMS é o TinyMCE, um componente desenvolvido em Javascript para facilitar o processo de criar conteúdo.

Este editor permite a construção de conteúdo de uma forma mais visual, no entanto inclui uma área para fazer a edição do código criado com o desenvolvimento.

No entanto, por defeito, o tag HTML <p></p> é inserido automáticamente sempre que há uma quebra de linha, o que pode causar problemas na criação de interações Javascript com o conteudo.

Para anular esta funcionalidade é necessário editar o ficheiro ADMINDIR/themes/default/template/helpers/form/form.tpl e substituir o seguinte:

$(document).ready(function(){
		{block name="autoload_tinyMCE"}
			tinySetup({
				editor_selector :"autoload_rte",
			});
		{/block}
	});

por:

$(document).ready(function(){
		{block name="autoload_tinyMCE"}
			tinySetup({
                editor_selector :"autoload_rte",
                                  theme_advanced_buttons1 :"save, newdocument, bold, italic, underline, strikethrough, justifyleft, justifycenter, justifyright, justifyfull, styleselect, formatselect, fontselect, fontsizeselect",
                                  theme_advanced_buttons2 : "cut, copy, paste, pastetext, pasteword, search, replace, bullist, numlist, outdent, indent, blockquote, undo, redo, link, unlink, anchor, image, cleanup, help, codemagic, insertdate, inserttime, preview, forecolor, backcolor",
                                  theme_advanced_buttons3 : "code, tablecontrols, hr, removeformat, visualaid, sub, sup, charmap, emotions, iespell, media, advhr, print, ltr, rtl, fullscreen",
                                  theme_advanced_buttons4 : "styleprops, cite, abbr, acronym, del, ins, attribs, visualchars, nonbreaking, template, pagebreak, restoredraft, visualblocks",
                                  theme_advanced_toolbar_location : "top",
                                  theme_advanced_toolbar_align : "left",
                                  theme_advanced_statusbar_location : "bottom",
                                  theme_advanced_resizing : false,
                                                    extended_valid_elements: 'pre[*],script[*],style[*]',
                                                    valid_children: "+body[style|script], pre[script|div|p|br|span|img|style|h1|h2|h3|h4|h5], *[*]",
                                                    valid_elements : '*[*]',
                                                    force_p_newlines : false,
                                                    cleanup: false,
                                                    forced_root_block : false,
                                                    force_br_newlines : true
            });
		{/block}
	});

Desta forma será o tag <p> deixará de ser inserido sempre que haja uma quebra de linha.

Se tiver dificuldade em resolver um problema relacionado com este ou outro tópico, contacte-nos!

Temos sempre uma solução para si!

geral@slap.pt
(+351) 917 502 470