Sin impuesto Con impuesto

Twig e Smarty no PrestaShop: o que se usa onde e como personalizar sem estragar

O front continua em Smarty e o back office usa Twig. Explicamos como personalizar cada um e onde pôr as suas alterações para que sobrevivam às atualizações.

Jesús Meilán
Updated: 26/09/2026 151
Twig e Smarty no PrestaShop: o que se usa onde e como personalizar sem estragar
Share:

O PrestaShop usa dois motores de templates: Smarty para a loja (front) e Twig para os ecrãs modernos do back office. Saber qual mexer em cada caso poupa muitas horas à procura de onde está um texto.

O front: Smarty e o tema

Tudo o que o cliente vê sai dos templates .tpl do tema ativo. Um tema filho só precisa de incluir os templates que altera: os restantes são herdados do tema pai.

Substituir o template de um módulo

Não edite os ficheiros dentro de modules/: a próxima atualização do módulo vai substituí-los. Copie o template para o seu tema respeitando o caminho:

modules/ps_shoppingcart/ps_shoppingcart.tpl
  → themes/mitema/modules/ps_shoppingcart/ps_shoppingcart.tpl

O PrestaShop procura primeiro no tema. Mas atenção: se o módulo mudar as suas variáveis numa versão nova, a sua cópia pode ficar desatualizada. Reveja os templates substituídos em cada atualização.

O back office: Twig

Os ecrãs em Symfony são desenhados com Twig. Os módulos podem acrescentar conteúdo nos hooks do back office ou ter os seus próprios templates Twig em @Modules/mimodulo/.... Substituir templates Twig do núcleo é possível mas delicado; sempre que puder, use hooks.

Escape: a parte que não se pode esquecer

  • No Smarty, faça escape de tudo o que vem de dados: {$nombre|escape:'html':'UTF-8'}. Use nofilter apenas com HTML gerado por si e que saiba ser seguro.
  • No Twig o escape é automático; |raw desativa-o, use-o com o mesmo cuidado.

Cache de templates

O Smarty compila os templates e, consoante a configuração, guarda o HTML de alguns blocos. Se alterar um template e não vir a mudança, limpe a cache em Desempenho. Em desenvolvimento, ative «Forçar compilação» para não ter de o fazer sempre, e desative-o em produção: é muito mais lento.

O nosso conselho

Ponha todas as alterações visuais num tema filho e todas as alterações de comportamento num módulo. Assim, atualizar o tema pai ou o PrestaShop é uma formalidade e não uma operação de risco.

Carregando...
Consentimento de cookies
Voltar ao topo