child theme en Prestashop 1.7

Editar plantilla sin que se pierdan los cambios en Prestashop 1.7 (child theme)

En este manual para Prestashop, vamos hacer cambios en un fichero *.tpl de la plantilla, sin tener que editar el fichero *.original. Es decir, vamos a trabajar con una plantilla hija (child theme), concepto que se introduce a partir de Prestashop 1.7.

En el directorio:

/themes/

Creamos un directorio llamado /modificaciones/

Directorio modificaciones

Dentro, vamos a crear:

  • config (un directorio con este nombre)
    Dentro del directorio config que hemos creado un fichero llamado:
    theme.yml

    theme.yml

    En este fichero, añadimos lo siguiente:
    [sourcecode language=»text»]
    parent: classic
    name: modificaciones
    display_name: Tema Hijo
    version: 6.6.6
    assets:
    use_parent_assets: true
    [/sourcecode]
    En parent -> indicamos que la plantilla padre es la classic, que es la plantilla por defecto de Prestashop 1.7
    En name -> Indicamos el nombre de la plantilla, que recordamos que en nuestro caso el directorio de la plantilla se llama «modificaciones»
    En display_name -> Nombre público de la plantilla
    En version -> Versión de la plantilla  (Nosotros hemos colocado 6.6.6, pero ustedes pueden colocar la numeración que quieran)
    use_parent_assets -> true (ya que vamos a usar lo estilos y js de la plantilla padre)

  • preview.png -> imagen que se usa para mostrar la plantilla en el panel.

    Imagen previsualización plantilla en Prestashop

Por ejemplo, vamos a sobreescribir el fichero «/templates/catalog/product.tpl» de la plantilla classic» y ocultar la descripción corta de los productos en Prestashop 1.7

Creamos el siguiente fichero:

/themes/modificaciones/templates/catalog/product.tpl

Fichero que vamos a crear

Y al inicio del fichero, añadimos:

{extends file=’parent:catalog/product.tpl’}

Y después añadimos la siguiente línea:

[sourcecode language=»text»]

{block name=’product_description_short’}
{*

{$product.description_short nofilter}

*}
{/block}

[/sourcecode]

El código del fichero, quedara así:

[sourcecode language=»text»]

{extends file=’parent:catalog/product.tpl’}

{block name=’product_description_short’}
{*

{$product.description_short nofilter}

*}
{/block}

[/sourcecode]

Sobreescribiendo
Sobreescribiendo

Depende editar el fichero: «/themes/classic/templates/catalog/product.tpl» hemos creado uno nuevo en la plantilla hija y hemos llamado al fichero padre y hemos sobrescrito el bloque que muestra la descripción corta del producto y  hemos comentado la descripción corta.

Más info, en la documentación oficial en el idioma de Shakespeare a día de hoy

http://developers.prestashop.com/themes/smarty/parent-child-feature.html

Ah, se me olvido, activar la plantilla «nueva» en la pestaña Diseño -> Temas y logotipo

Accediendo a la gestión de temas

Documento realizado bajo Prestashop 1.7.1.2