Personalizar el layout en cada controlador con Prestashop


En ocasiones necesitamos personalizar el Layout (header,leftcolumn,content,rightColumn, footer) en un controlador. Para hacer esto no necesitamos ningún módulo. Simplemente tenemos que crear un layout personalizado en nuestro tema.

 

Cuando prestashop renderiza un tema empieza por el Layout.tpl, y de ahí se deriva al resto de vistas. Lo genial de esto es que antes de renderizar Layout.tpl busca otros archivos en función del controlador e incluso de la id del producto.

 

Estos archivos de layout los intenta localizar en la carpeta: themes/tutema/override/

El primero que busca es un layout personalizado a nivel de controlador e id del objeto. Por ejemplo, si estamos viendo el producto número 15 prestashop buscará el archivo themes/tutema/override/layout-product-15.tpl


Si lo encuentra utilizará ese layout en lugar del principal del tema.

Pero si no queremos personalizar el layout a nivel individual por producto, si no que queremos hacerlo para todos haremos un layout en la misma carpeta que mencionamos antes, pero sin indicar la id. Siendo el resultado así: themes/tutema/override/layout-product.tpl

 

Esto lo podemos emplear para diseñar diferentes layouts según categorías, mostrar u ocultar el footer o header, o emplearlo para renderizar landing pages totalmente personalizadas.

Hemos puesto el ejemplo con Product, pero funciona con cualquier controlador. 

 

13-04-2017 19:31 Rodrigo Medina {writeRevision}
Valoración media: 5 (3 votos)

Puedes añadir un comentario

Chuck Norris has counted to infinity. Twice.