Twig y Smarty en PrestaShop: qué se usa dónde y cómo personalizar sin romper

El front sigue en Smarty y el back office va en Twig. Te explicamos cómo personalizar cada uno y dónde poner tus cambios para que sobrevivan a las actualizaciones.

Equipo Rekire
Updated: 26/09/2026 4
Twig y Smarty en PrestaShop: qué se usa dónde y cómo personalizar sin romper
Share:

PrestaShop usa dos motores de plantillas: Smarty para la tienda (front) y Twig para las pantallas modernas del back office. Saber cuál toca en cada caso evita muchas horas de buscar dónde está un texto.

El front: Smarty y el tema

Todo lo que ve el cliente sale de las plantillas .tpl del tema activo. Un tema hijo solo necesita incluir las plantillas que cambia: el resto las hereda del tema padre.

Sobrescribir la plantilla de un módulo

No edites los ficheros dentro de modules/: la próxima actualización del módulo los pisará. Copia la plantilla a tu tema respetando la ruta:

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

PrestaShop buscará primero en el tema. Eso sí: si el módulo cambia sus variables en una versión nueva, tu copia puede quedarse desfasada. Revisa las plantillas sobrescritas en cada actualización.

El back office: Twig

Las pantallas de Symfony se pintan con Twig. Los módulos pueden añadir contenido en los hooks del back office o tener sus propias plantillas Twig bajo @Modules/mimodulo/.... Sobrescribir plantillas Twig del núcleo es posible pero delicado; siempre que puedas, usa hooks.

Escapado: la parte que no se puede olvidar

  • En Smarty, escapa todo lo que venga de datos: {$nombre|escape:'html':'UTF-8'}. Solo usa nofilter con HTML que hayas generado tú y sepas seguro.
  • En Twig el escapado es automático; |raw lo desactiva, úsalo con el mismo cuidado.

Caché de plantillas

Smarty compila las plantillas y, según la configuración, guarda el HTML de algunos bloques. Si cambias una plantilla y no ves el cambio, vacía la caché desde Rendimiento. En desarrollo, activa «Forzar compilación» para no tener que hacerlo cada vez, y desactívalo en producción: es mucho más lento.

Nuestro consejo

Pon todos los cambios visuales en un tema hijo y todos los cambios de comportamiento en un módulo. Así, actualizar el tema padre o PrestaShop es un trámite y no una operación de riesgo.

0 comments
info You must log in to comment. Log in
Carregando...
Consentimento de cookies
Voltar ao topo