---
title: Overrides de templates desde el tema
section: themes
slug: overrides
description: "Como sobreescribir templates de modulos desde el tema en PrestaShop: directorio themes/mytheme/modules/, prioridad de carga y buenas practicas."
keywords: prestashop tema override template modulo themes modules sobreescribir smarty tpl
last_updated: 2024-12-01
source_url: "https://ayudaprestashop.es/themes/overrides"
---

# Overrides de templates desde el tema

> Como sobreescribir templates de modulos desde el tema en PrestaShop: directorio themes/mytheme/modules/, prioridad de carga y buenas practicas.

PrestaShop permite a los temas sobreescribir los templates de los modulos sin modificar el modulo directamente. Basta con crear el archivo en el directorio correcto dentro del tema.

## Como funciona el override de templates

Cuando un modulo hace `$this->display(__FILE__, 'views/templates/hook/my_hook.tpl')`, PrestaShop busca el template en varios lugares antes de usar el del modulo. El tema tiene prioridad.

## Estructura de directorios

*Directorio de overrides en el tema*

```text
themes/
└── mytheme/
    └── modules/
        ├── ps_featuredproducts/      ← nombre del modulo
        │   └── views/
        │       └── templates/
        │           └── hook/
        │               └── featured.tpl  ← mismo path relativo al modulo
        ├── blockcart/
        │   └── blockcart.tpl
        └── ps_shoppingcart/
            └── ps_shoppingcart.tpl

# La ruta dentro de themes/mytheme/modules/ replica exactamente
# la ruta relativa del template dentro del modulo.
#
# Si el modulo llama a:
#   modules/ps_featuredproducts/views/templates/hook/featured.tpl
# PrestaShop buscara primero en:
#   themes/mytheme/modules/ps_featuredproducts/views/templates/hook/featured.tpl
```

## Orden de precedencia

| Prioridad | Ubicacion | Descripcion |
| --- | --- | --- |
| 1 (mas alta) | themes/{theme}/modules/{module}/... | Override del tema activo |
| 2 | themes/{theme}/modules/{module}/... | Override del tema padre (si child theme) |
| 3 (mas baja) | modules/{module}/views/templates/... | Template original del modulo |

## Ejemplos comunes

*Modulos de PS que se sobreescriben con mas frecuencia*

```text
# Carrito de compras
themes/mytheme/modules/ps_shoppingcart/ps_shoppingcart.tpl

# Menu de navegacion
themes/mytheme/modules/ps_mainmenu/ps_mainmenu.tpl

# Buscador
themes/mytheme/modules/ps_searchbar/ps_searchbar.tpl

# Productos destacados en home
themes/mytheme/modules/ps_featuredproducts/views/templates/hook/featured.tpl

# Banner de imagen
themes/mytheme/modules/ps_imageslider/views/templates/hook/slider.tpl

# Breadcrumbs (migajas de pan)
themes/mytheme/modules/ps_breadcrumb/ps_breadcrumb.tpl

# Bloque de categorias
themes/mytheme/modules/ps_categoryproducts/ps_categoryproducts.tpl

# Footer
themes/mytheme/modules/ps_legalcompliance/ps_legalcompliance.tpl
```

*Ejemplo de template override — ps_shoppingcart*

```smarty
{* themes/mytheme/modules/ps_shoppingcart/ps_shoppingcart.tpl *}
{* Primero, copiar el template original del modulo y modificarlo *}

<div id="_desktop_cart" class="my-custom-cart">
  <a href="{$cart_url}" class="cart-preview">
    {* Usar las variables que el modulo ya asigna a Smarty *}
    <span class="cart-icon">
      {if $cart.products_count > 0}
        <span class="cart-badge">{$cart.products_count}</span>
      {/if}
    </span>
    <span class="cart-label">{l s='Cart' mod='ps_shoppingcart'}</span>
    <span class="cart-total">{$cart.totals.total.amount}</span>
  </a>
</div>
```

## Limpiar la cache de Smarty

*Limpiar cache tras modificar templates*

```bash
# ── Desde la consola ──
php bin/console cache:clear

# ── Desde el Back Office ──
# Parametros Avanzados → Rendimiento → Vaciar cache

# ── Desde PHP (en desarrollo) ──
# Tools::clearAllCache();

# ── Eliminar archivos de cache manualmente ──
rm -rf var/cache/dev/*
rm -rf var/cache/prod/*
# En PS 1.7:
rm -rf app/cache/dev/*
rm -rf app/cache/prod/*
```


---

*Fuente: [https://ayudaprestashop.es/themes/overrides](https://ayudaprestashop.es/themes/overrides). Version Markdown generada automaticamente para consumo por LLMs.*
