deivi15 Posted September 5, 2014 Share Posted September 5, 2014 (edited) 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 September 5, 2014 by deivi15 (see edit history) Link to comment Share on other sites More sharing options...
jesa Posted September 5, 2014 Share Posted September 5, 2014 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 More sharing options...
rafaelamargo Posted September 5, 2014 Share Posted September 5, 2014 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 More sharing options...
deivi15 Posted September 5, 2014 Author Share Posted September 5, 2014 ¿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 Link to comment Share on other sites More sharing options...
jesa Posted September 5, 2014 Share Posted September 5, 2014 ¿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 More sharing options...
rafaelamargo Posted September 5, 2014 Share Posted September 5, 2014 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 More sharing options...
deivi15 Posted September 5, 2014 Author Share Posted September 5, 2014 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 More sharing options...
deivi15 Posted September 5, 2014 Author Share Posted September 5, 2014 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 More sharing options...
rafaelamargo Posted September 5, 2014 Share Posted September 5, 2014 (edited) 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 September 5, 2014 by rafaelamargo (see edit history) Link to comment Share on other sites More sharing options...
deivi15 Posted September 5, 2014 Author Share Posted September 5, 2014 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 More sharing options...
rafaelamargo Posted September 5, 2014 Share Posted September 5, 2014 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 More sharing options...
Recommended Posts