Jump to content

Cambiar el background de la web al cambiar de categoría


lunaroja

Recommended Posts

Tengo la instalación básica de Prestashop 14.

 

Quiero que el background de la web cambie cada vez que se cambia de categoría, el del body de la web.

 

He estado mirado el hilo http://www.prestasho...y-subcategoria/ pero no me aclaro, ni siquiera consigo hacer lo de ese hilo, cambiar el fondo de cada categoría. Algo se me escapa, eso o que soy novato.

Edited by lunaroja (see edit history)
Link to comment
Share on other sites

Sí, mire en esos hilos, bueno, miré unos cuantos pero en esos encontré la que creia solución a lo que buscaba.

 

en global.css puse:

 

body.cat14 { background-image: url(../img/cat14.jpg) }
body.cat15 { background-image: url(../img/cat15.jpg) }
body.cat16 { background-image: url(../img/cat16.jpg) }
body.cat17 { background-image: url(../img/cat17.jpg) }
body.cat18 { background-image: url(../img/cat18.jpg) }
body.cat19 { background-image: url(../img/cat19.jpg) }
...

 

Los números deben ser los de las categorias que tenemos, en img metemos las imágenes de los fondos, con los nombres cat14.jpg, cat15.jpg, ..., y una que se llame cat.jpg para cuando no estamos en una categoría, en el carrito u otro sitio.

 

 

 

y en header.tpl cambiamos

 

<body {if $page_name}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}>

 

por

 

<body {if $page_name}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}{if $smarty.get.id_category} class="cat{$smarty.get.id_category}"{/if}>

 

 

Este sistema coge el número de la categoría y lo pone detrás de la palabra cat para formar el nombre de la imagen, por ejemplo, con la categoría 21 se forma el nombre cat21.jpg

 

Con eso ya cambia el background según la categoría, o eso esperaba yo.

 

Hay un problema, eso solo funciona cuando pinchas en una categoría del listado de categorías y, aparece el listado de productos, si luego pinchas en un producto el fondo se va y se carga el fondo por defecto, el llamado cat.jpg

 

Lo ideal sería que ese fondo estuviese todo el tiempo hasta que entras en otra categoría.

 

Una posible solución sería que el nombre de la imagen no se crease usando directamente el número de la categoría, sino una variable puente, esta variable toma el valor de la categoría y solo cambia al cambiar de categoría, si la categoría toma un valor nulo, en el carrito por ejemplo, la variable puente no cambia. Yo hacía esto hace tiempo en el BASIC del ZX Spectrum pero no sé como hacerlo aquí. O igual se puede hacer de otra manera.

Edited by lunaroja (see edit history)
Link to comment
Share on other sites

Leyendo mas en esos hilos ingleses indicaban no solo como cambiar el fondo sino como cambiar el tema entero según la categoría en la que estamos, eso permitiría cambiar todo el aspecto gráfico de la web de una categoría a otra, una pasada vamos.

 

Para ello simplemente se modifica el config/settings.inc.php

 

Se cambia

 

define('_THEME_NAME_', 'tema');

 

por

 

define('_THEME_NAME_', 'tema' . (isset($_GET['id_category']) ? $_GET['id_category'] : ''));

 

Luego necesitamos tener dentro de la carpeta Themes un tema completo para cada categoría cuyo nombre debe ser tema seguido del número de la categoría, por ejemplo tema14, tema15, tema20, etc, y otro que se llame solo tema para cuando no hay categoría, en el carrito por ejemplo.

 

Pero nos encontramos con el mismo problema de antes, cuando pinchamos en un producto para el sistema hemos salido de la categoría y nos activa el tema por defecto, el que hemos llamado simplemente tema.

 

Creo que al final del hilo han puesto la solución pero no me alcaro.

Edited by lunaroja (see edit history)
Link to comment
Share on other sites

  • 6 months later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...