Jump to content

Navegación por facetas (Solucionado)


deivi15

Recommended Posts

Necesitaría que el módulo de navegación por facetas se vea en todas las páginas y no sólo en la de categorías.

 

A parte, si no se pudiera, me gustaria saber como pasarle parámetros para que aparezcan pinchadas ciertas opciones. Por ejemplo, si estoy en la lista de fabricantes y el usuario pincha en un fabricante, que la web vaya a la página donde aparezca la navegación por facetas con ese fabricante pinchado. 

 

Gracias.

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

Para que se muestre en todas partes tendrás que modificar el módulo para añadirle todos los hook que quieras poner. Después dependiendo de los hook que quieras tendrás que crearte otra nueva plantilla .tpl para ajustar el diseño a la nueva ubicación. 

Link to comment
Share on other sites

Para que se muestre en todas partes tendrás que modificar el módulo para añadirle todos los hook que quieras poner. Después dependiendo de los hook que quieras tendrás que crearte otra nueva plantilla .tpl para ajustar el diseño a la nueva ubicación. 

Yo he probado editar el php del modulo para que se pueda añadir en otro hook, y no me termina de funcionar bien,  mientras que con otros modulos no he tenido problemas, pero con este si. ¿Podrias mirar cual es la causa?

 

Gracias !

Link to comment
Share on other sites

¿pero como añado esos hook? Yo pensaba que los hook era para ponerlos en una posición en el front y ya tiene puesto el leftcolumn

 

Así es, las plantillas tienen unos hook donde se pueden anclar los módulos. Después los módulos tienen que tener la programación concreta para cada hook. 

 

Te pueden pasar varias cosas así que se me ocurran...

Que en la home no tienes columna izquierda y por eso no se muestra, que tengas una restricción para que no lo muestre en la home. Esto puedes ir a Modulos->posiciones y te vas al displayleftcolum o donde lo tengas puesto y le das a editar. Ahí te sale un campo donde se indican las excepciones. 

 

Cuando a un módulo se le añaden nuevos hooks hay que reinstalar el módulo, sino no va a mostrarlo. 

Link to comment
Share on other sites

Así es, las plantillas tienen unos hook donde se pueden anclar los módulos. Después los módulos tienen que tener la programación concreta para cada hook. 

 

Te pueden pasar varias cosas así que se me ocurran...

Que en la home no tienes columna izquierda y por eso no se muestra, que tengas una restricción para que no lo muestre en la home. Esto puedes ir a Modulos->posiciones y te vas al displayleftcolum o donde lo tengas puesto y le das a editar. Ahí te sale un campo donde se indican las excepciones. 

 

Cuando a un módulo se le añaden nuevos hooks hay que reinstalar el módulo, sino no va a mostrarlo.

Yo lo he puesto en el hook, con la columna habilitada y no funciona bien. (No digo que no aparezca, digo que no funciona bien)

 

¿Qué solución puedo tomar?

 

Gracias !

 

¿A que modificar mas ficheros como los js, etc..?

Link to comment
Share on other sites

Está en el leftcolum y no tiene ninguna restricción, pero el módulo solo aparece cuando pincho en las categorias, si estoy en otra página no aparece. Puede que tenga algo dentro del código para ello, pero no sé como bloquearlo para que el módulo aparezca siempre.

Link to comment
Share on other sites

He conseguido parcheando el blocklayered.php que se muestre siempre.

 

En la función getfilterblock he cambiado la linea 

if ($id_parent == $home_category)

  return

 

por 

if ($id_parent == $home_category)

  $id_parent = 10735 (que es el id de mi categoria principal)

 

Luego he ido a Modulos->posiciones y te vas al displayleftcolum y he puesto excepciones en donde no quería que apareciera el módulo.

 

También he modificado el manufacturer-list.php y en lugar de hacer click en el nombre del fabricante y que muestre sus productos he puesto que se redirija a la categoria principal pasándo como parámetro el nombre del fabricante. El enlace queda así:

<a href="{$link->getCategoryLink(10735, $manufacturer.link_rewrite)|escape:'htmlall':'UTF-8'}#fabricante-{str_replace('__', '_', str_replace(' ', '_', str_replace('&', '', str_replace('"', '"', stripslashes(strtolower(str_replace('\'', '\\\'', $manufacturer.name)))))))}">{/if}
{$manufacturer.name|truncate:60:'...'|escape:'htmlall':'UTF-8'}
{if $manufacturer.nb_products > 0}</a>

 

Recordad que el 10735 es mi categoría principal. Debeis cambiarla por vuestra categoría principal, que no es la categoría padre. En mi caso como primera categoría he creado una que se llama Todas, y el resto de categorias son hijas de esta, así prestashop tiene su categoría padre y yo la mía. Y así consigo que no se líen y puedo cambiar lo que quiera.

 

Espero que os sirva de ayuda para poder trabajar con este módulo, que aunque es bueno, tiene sus limitaciones.

Link to comment
Share on other sites

He conseguido parcheando el blocklayered.php que se muestre siempre.

 

En la función getfilterblock he cambiado la linea 

if ($id_parent == $home_category)

  return

 

por 

if ($id_parent == $home_category)

  $id_parent = 10735 (que es el id de mi categoria principal)

 

Luego he ido a Modulos->posiciones y te vas al displayleftcolum y he puesto excepciones en donde no quería que apareciera el módulo.

 

También he modificado el manufacturer-list.php y en lugar de hacer click en el nombre del fabricante y que muestre sus productos he puesto que se redirija a la categoria principal pasándo como parámetro el nombre del fabricante. El enlace queda así:

<a href="{$link->getCategoryLink(10735, $manufacturer.link_rewrite)|escape:'htmlall':'UTF-8'}#fabricante-{str_replace('__', '_', str_replace(' ', '_', str_replace('&', '', str_replace('"', '"', stripslashes(strtolower(str_replace('\'', '\\\'', $manufacturer.name)))))))}">{/if}
{$manufacturer.name|truncate:60:'...'|escape:'htmlall':'UTF-8'}
{if $manufacturer.nb_products > 0}</a>

 

Recordad que el 10735 es mi categoría principal. Debeis cambiarla por vuestra categoría principal, que no es la categoría padre. En mi caso como primera categoría he creado una que se llama Todas, y el resto de categorias son hijas de esta, así prestashop tiene su categoría padre y yo la mía. Y así consigo que no se líen y puedo cambiar lo que quiera.

 

Espero que os sirva de ayuda para poder trabajar con este módulo, que aunque es bueno, tiene sus limitaciones.

 

Tengo una duda, si el modulo filtra por la categoría donde te encuentras, cuando estas por ejemplo en la sección de contacte con nosotros, ¿Por que categoría filtra? ¿Por todas (por el id de categoria que ponga) al cambiarle la asignación del ID? 

 

Es que en mi caso, no quiere que me filtre por todas, quiero que el mismo modulo de facetas, tenga un nuevo bloque, para elegir la categoría por checkbock o desplegable. (aunque creo que esto ya lo tendria que preguntar en un tema nuevo, segun entiendo)

 

Gracias por ayuda !

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

Lo que yo he hecho, es como he dicho antes, ir a Modulos->posiciones y te vas al displayleftcolum y he puesto excepciones en donde no quería que apareciera el módulo. En mi caso solo he dejado index, manufacturers, category y search.

 

Al cambiar de sección, el bloque pierde la busqueda y siempre va a empezar de 0. Para lo que quieres yo usaría el bloque de categorias y lo modificaría para que mostrara lo que quieres y cambiaría la url para que cuando pulses, vaya a la navegación por facetas igual que yo he hecho con los fabricantes. Eso sí, pondría las exceipciones justo al reves del módulo de navegación por facetas.

Link to comment
Share on other sites

Lo que yo he hecho, es como he dicho antes, ir a Modulos->posiciones y te vas al displayleftcolum y he puesto excepciones en donde no quería que apareciera el módulo. En mi caso solo he dejado index, manufacturers, category y search.

 

Al cambiar de sección, el bloque pierde la busqueda y siempre va a empezar de 0. Para lo que quieres yo usaría el bloque de categorias y lo modificaría para que mostrara lo que quieres y cambiaría la url para que cuando pulses, vaya a la navegación por facetas igual que yo he hecho con los fabricantes. Eso sí, pondría las exceipciones justo al reves del módulo de navegación por facetas.

 

Gracias, me ha servido de ayuda. (Aunque ahi algunas cosas en relacción al modulo de navegacion con facetas que no me terminan de funcionar bien, de todos modos ya lo preguntare en un tema nuevo)

 

Por cierto, creo recordar que recomiendan añadir en el foro la palabra "Solucionado": http://www.prestashop.com/forums/topic/269515-solucionado-%C2%BFcomo-poner-la-palabra-solucionado-en-el-titulo-del-tema/ al titulo del tema, cuando el autor del mismo ha solucionado su duda.

 

Saludos !

Link to comment
Share on other sites

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