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