Jump to content

Imagenes entremezcladas Categorias y Subcategorias


kos2

Recommended Posts

Hola buenas tardes.

Estoy acabando el desarrollo de un prestashop (www.twinnermolins.com) y me he topado con un problema algo curioso.

La tienda tiene varias categorias con varias subcategorias. Cada categoria tiene su imagen de cabecera, con un tamaño uniforme de 556 px por 155 px y debajo se muestra la descripción de la categoria y más abajo las imagenes de cada subcategoria, con un tamaño uniforme de 185 px por 100 px. Hasta aqui todo correcto, pero al entrar a una subcategoria, biene el problema, y es que muestra la imagen de la subcategoria como cabecera, pero con el tamaño 556 x 155.

El tema es que yo no quiero que salga ninguna imagen de cabecera al entrar a una subcategoria. Ni tampoco la descripción. Quiero que muestre los productos directamente, debajo de la barra de titulo de la subcategoria.

Se que el problema está en el archivo category.php del theme, pero he ido jugando un poco con los if pero no he encontrado la forma.

Si alguien me puede echar una mano, estaré muy agradecido....

Pueden ver claramente el problema aqui:
http://www.twinnermolins.com/category.php?id_category=5 (pagina de categoria)
http://www.twinnermolins.com/category.php?id_category=22 (pagina de subcategoria)

Marcos

Link to comment
Share on other sites

La única opción que yo veo viable es la de modificar la imagen de la categoría, me explico

En la categoría de Adidas, la primera subcategoría la de las calzado con la siguiente dirección:

http://www.twinnermolins.com/img/c/22-subcategorias.jpg



Al entrar en la subcategoría, la imagen es otra:

http://www.twinnermolins.com/img/c/22-category.jpg



La solución que yo te propongo es que sobrescribas segunda, la 22-category.jpg la imagen con una de 1 X 1 píxel en blanco. De esta manera eliminas la imagen. En cuanto a la descripción, simplemente no la pongas cuando la crees.

Un saludo.

Link to comment
Share on other sites

Hola.

Muchas gracias por contestar.

Sería una solución posible, pero en el caso de que el cliente creara una nueva subcategoria, siempre tendria que acudir a mi para realizar la misma operación. Busco algún tipo de solución que funcione siempre. Además, también lo pregunto para entender el funcionamiento del prestashop en este aspecto, porque yo, en ningun momento he generado la imagen 22-category.jpg de 556x155 pixels, en cambio si que he subido la imagen 22-subcategorias.jpg de 185x100 pixels

Entonces, la pregunta es, en que momento genera esa imagen el prestashop ? si yo cuando subo la imagen, la subo para que me haga como imagen de subcategoria. Tendria sentido si la imagen que sale al entrar a la subcategoria es la imagen de cabecera de la categoria, pero no, te crea una imagen de 556x155, algo muy raro.

Hay alguna forma de controlar cuándo mostrar la cabecera y cuándo no, editando el archivo category.tpl ?

Gracias,

Marcos

Link to comment
Share on other sites

La imagen la genera automáticamente en el mismo momento en que tu subes la imagen.
Es la opción de large_escene.

Veo que has cambiado algo en la tienda para que no salga, no se si lo has hecho con la opción que te dí o lo has conseguido hacer de modificando el tpl.

Un saludo.

Link to comment
Share on other sites

Hola buenas tardes,

Muchas gracias por intentar ayudarme.

Finalmente encontré yo mismo la solución haciendo lo siguiente en el archivo category.tpl:

Substituyendo : {if $category->id_image}

por: {if $category->id_image and isset($subcategories)}

De esta forma, muestra la imagen de las categorias, siempre y cuando haya subcategorias dentro de ella, por tanto en las subcategorias no se muestra ninguna imagen de cabecera.

Evidentemente para que esto funcione se tiene que cumplir una condición. Y es que todas las categorias tengan subcategorias.

Si alguien se le ocurre como solucionar esto y perfeccionar este método, le estaré agradecido.

Muchas gracias

Marcos

Link to comment
Share on other sites

Hola buenas,

He detectado que este sistema no es fiable tampoco, ya que, cuando tienes 2 niveles de subcategorias, es decir, por ejemplo Futbol - Balones de Futbol - Adidas en el primer nivel funciona bien, y en el segundo, pero en el tercero me vuelve a mostrar la imagen de cabecera.

Yo lo que busco es que me muestre la imagen de cabecera unicamente en las categorias principales, no en ninguna de sus subcategorias, sean de 2, 3 o 4 niveles.

Marcos

Link to comment
Share on other sites

Hola Buenas,

Creo que tengo la solución a mi problema, pero no la sé implementar. Haber si alguien que se maneje bien con el funcionamiento de Smarty me puede ayudar.

En la tabla 'ps_category' hay un campo llamado 'level_depth' que te indica la profundidad de las categorias. y en las categorias principales, o lo que es lo mismo, las categorias padre, este campo tiene valor '1'. Entonces lo que yo quiero hacer es lo siguiente:

Si level_depth es igual a 1, me muestras la imagen de cabecera de la categoria, en cualquier otro caso que no muestre nada.

entonces tengo que cambiar lo siguiente en el archivo category.tpl:

{if $category->id_image}
g .............
{/if}

por .........

y aqui es donde no llego, porque no sé como implementar eso, ya que no se como funciona smarty, y no se mucho de php.

Sea como sea implementando esto estoy seguro de que funcionará tal y como yo quiero, es por eso que os pido vuestra colaboración.

Muchas Gracias.

Link to comment
Share on other sites

Hola buenas,

Ya estoy aqui de nuevo. Para quien siga el hilo, ya he conseguido solucionarlo.... soy muy cabezón....

pueden ver que ya funciona en www.twinnermolins.com

tan solo sale imagen de cabecera de categoria en las categorias padre o "principales"

he hecho lo siguiente, gracias al campo level_depth de la tabla ps_category que me indicaba el nivel de profundidad de cada categoria (ya que el prestashop trata internamente todo como categorias, no distingue subcategorias internamente):

En el archivo category.php he añadido el siguiente codigo:

$profundidad = mysql_query("SELECT level_depth FROM ps_category where id_category=".$_GET['id_category']."");
$nivelcategoria = mysql_fetch_array($profundidad);
$categoria = $nivelcategoria["level_depth"];
$smarty->assign('categoria', $categoria);

En el archivo category.tpl he cambiado el if por defecto que muestra las imagenes de las cabeceras de las categorias por este otro:

{if $categoria == 1}
g................

Y esto es todo. Os pido disculpas por la suciedad el codigo, pero llevo 5 años apartado de este mundillo y cuando lo dejé el php 4.0 era una novedad, asi que seguramente se podría haber hecho de una forma mas sencilla y mas limpia, y es por eso que animo a quien lo pueda mejorar que colabore comentandolo para cerrar este hilo.

Muchas gracias,

Marcos

Link to comment
Share on other sites

  • 3 months later...

El tema es que yo no quiero que salga ninguna imagen de cabecera al entrar a una subcategoria. Ni tampoco la descripción.


buenos dias yo me encuentro en un problema parecido que no soy capaz de corregir pero yo deseo algo distinto. Yo tengo activado las large_escene y cuando entro en las categorias y en sus subcategorias me muestran las imagenes perfectas de las subcategorias sin incluir el large_scene, Pero cuando entro en las subcategorias de las subcategorias ademas de mostrarme las imagenes como subcategorias correctamente me aparece una imagen pequeña erronea que proviene de la subcategoria anterior y del large_scene y soy incapaz de borrarla en el backoffice ni en el category.tpl
La unica solucion que encuentro para que no se muestre esa imagen erronea en las subcategorias de las subcategorias es desactivando el large_scene para toda la web pero esque yo en las subcategorias finales que se mostraran los productos si queria que apareciese una imagen del large_scene

Es un tema un poco complicado porque prestashop no diferencia categorias de subcategorias, a ver si algun entendido seria capaz de adivinar como corregir este error
un saludo
Link to comment
Share on other sites

  • 3 weeks later...

Yo lo tengo puesto asi en el template category.tpl

<!-- Category image -->
{if $category->id_image and $category->level_depth==1}


Y solo me muestra la imagen en el primer nivel,asi no hace falta tocar nada del php


Con respeto a las scene,tendrias que trabajar tambien con los niveles y si no quieres que te lo muestre en la subcategorias de subcategorias
yo cambiaria esto esto

{if $scenes}

por {if $scenes and $category->level_depth!=3}, si el 3 fuera el ultimo nivel

espero que sea esto a lo que te refieres

Un saludo

Link to comment
Share on other sites

  • 5 months later...

Buenas!

Alguien puede echarme una mano? He probado lo que comentan kos2 y nekely y nada de nada, me sigue mostrando las imagenes de las subcategorías...

La verdad no tengo ni idea de php ni de tpl, pero si un lo suficiente para cambiar lo que comentáis. Aunque agradecería mucho que me dijeséis exactamente "has de sustituir línea/s xx por el siguiente texto o bien cambiar A por B.

Muchas gracias de antemano.
Jamape

Link to comment
Share on other sites

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