Todas las páginas que se visualizan en una tienda de Prestashop tienen configuradas un layout por defecto que se corresponde con la plantilla ‘layout.tpl‘.
Si estamos creando nuestras propias páginas o un nuevo tema para la tienda Prestashop será importante conocer como poder cambiar este layout que viene por defecto. Para ello únicamente hay que sobreescribirlo. Si queremos que todas las páginas de la tienda tengan el mismo layout, pues los cambios se podrían hacer directamente editando el fichero ‘layout.tpl‘ que se encuentra en la carpeta de nuestro tema.
Por el contrario, si lo que queremos es darle un layout distinto, por ejemplo a la página de inicio, lo que tendríamos que hacer es crear un nuevo layout únicamente para esta página.
Si abrimos el fichero ‘FrontController.php‘ vemos que el método que carga el layout tiene los siguientes comentarios que indican como carga el layout Prestashop:
01 /**
02 * Returns the layout corresponding to the current page by using the override system
03 * Ex:
04 * On the url: http://localhost/index.php?id_product=1&controller=product, this method will
05 * check if the layout exists in the following files (in that order), and return the first found:
06 * - /themes/default/override/layout-product-1.tpl
07 * - /themes/default/override/layout-product.tpl
08 * - /themes/default/layout.tpl
09 *
10 * @since 1.5
11 * @return bool|string
12 */
Siguiendo estas indicaciones, los pasos que habría que seguir para añadir un nuevo layout a una página en Prestashop serían:
- Crear una carpeta llamada ‘override‘ dentro de la carpeta del tema que estamos utilizando.
- Dentro de esta nueva carpeta, crear un fichero que se llame ‘layout-inicio.tpl‘. El nombre ‘inicio’ se deberá cambiar por el de la página a la que le queramos cambiar el layout, si fuese a la página que muestra la información de un producto, pues tendría que ser ‘layout-product.tpl’.
- Crear la estructura del layout que se quiera dentron del fichero creado en el paso anterior.
Con estos pasos habremos configurado un layout diferente para una determinada página en Prestashop.
Deja tu comentario