ivangoti Posted August 25, 2012 Share Posted August 25, 2012 Hola, Acabo de empezar a probar PrestaShop 1.5 RC2. Quiero hacer un "override" de un módulo (tpl, css, js), por ejemplo del módulo nativo searchmodule. He leído la documentación de la versión 1.5, en concreto el capítulo Overriding default behaviors, donde dice que los módulos se pueden sobreescribir en las siguientes carpetas: /themes/my_theme/modules/my_module/views/templates/front/my_module.tpl /themes/my_theme/css/modules/my_modules/views/templates/front/my_module.css /themes/my_theme/js/modules/my_modules/views/templates/front/my_module.js El asunto es que la carpeta modules no existe en la carpeta de "mi tema", y lo mismo sucede con las carpetas modules dentro de las carpetas css y js dentro de mi tema. El módulo blocksearch está instalado, y en la documentación dice que estas carpetas están disponible tan pronto como el módulo es instalado. Entonces, ¿cómo sobreescribo un módulo? ¿O tengo que crear esas carpetas? Gracias Link to comment Share on other sites More sharing options...
nadie Posted August 25, 2012 Share Posted August 25, 2012 Hola, Acabo de empezar a probar PrestaShop 1.5 RC2. Quiero hacer un "override" de un módulo (tpl, css, js), por ejemplo del módulo nativo searchmodule. He leído la documentación de la versión 1.5, en concreto el capítuloOverriding default behaviors, donde dice que los módulos se pueden sobreescribir en las siguientes carpetas: /themes/my_theme/modules/my_module/views/templates/front/my_module.tpl /themes/my_theme/css/modules/my_modules/views/templates/front/my_module.css /themes/my_theme/js/modules/my_modules/views/templates/front/my_module.js El asunto es que la carpeta modules no existe en la carpeta de "mi tema", y lo mismo sucede con las carpetas modules dentro de las carpetas css yjs dentro de mi tema. El módulo blocksearch está instalado, y en la documentación dice que estas carpetas están disponible tan pronto como el módulo es instalado. Entonces, ¿cómo sobreescribo un módulo? ¿O tengo que crear esas carpetas? Gracias Tienes que crear las carpetas. Link to comment Share on other sites More sharing options...
ivangoti Posted August 25, 2012 Author Share Posted August 25, 2012 (edited) He probado a por ejemplo modificar el archivo css del módulo blocksearch tal como se explica en la documentación, creando la siguiente ruta de directorios: /themes/mi_tema/css/modules/blocksearch/views/templates/front/blocksearch.css donde mi_tema es el nombre correspondiente a mi tema. Así NO funciona. Además NO existe la siguiente ruta especificada en la documentación: /modules/blocksearch/views/templates/front/blocksearch.css a no ser que esta ruta de carpetas también tenga que ser creada, pero entonces no entiendo por qué no viene creada ya por defecto. Porque la ruta existente es la siguiente: /modules/blocksearch/blocksearch.css Por tanto, la única forma en que me ha funcionado es modificando el archivo css en la siguiente ruta directorios (ruta creada por mí): themes/mi_tema/css/modules/blocksearch/blocksearch.css ¿Es esto un error de documentación o un error en los directorios? ¿Sino por qué hay que crear todos esos directorios tanto en los módulos del raíz como en nuestro tema? Gracias Edited August 25, 2012 by ivangoti (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted August 25, 2012 Share Posted August 25, 2012 He probado a por ejemplo modificar el archivo css del módulo blocksearch tal como se explica en la documentación, creando la siguiente ruta de directorios: /themes/mi_tema/css/modules/blocksearch/views/templates/front/blocksearch.css donde mi_tema es el nombre correspondiente a mi tema. Así NO funciona. Además como dice en la documentación NO existe la siguiente ruta: /modules/blocksearch/views/templates/front/blocksearch.css a no ser que esta ruta de carpetas también tenga que ser creada, pero entonces no entiendo por qué no viene creada ya por defecto. Porque la ruta existente es la siguiente: /modules/blocksearch/blocksearch.css Por tanto, la única forma en que me ha funcionado es modificando el archivo css en la siguiente ruta directorios (ruta creada por mí): themes/mi_tema/css/modules/blocksearch/blocksearch.css ¿Es esto un error de documentación o un error en los directorios? ¿Sino por qué hay que crear todos esos directorios tanto en los módulos del raíz como en nuestro tema? Gracias No es ningún error, la ruta de directorios, también la debes crear. Link to comment Share on other sites More sharing options...
ivangoti Posted August 25, 2012 Author Share Posted August 25, 2012 (edited) Última duda. En cuanto al módulo blocksearch situado en el raíz, si por ejemplo solo quiero modificar el CSS, ¿elimino el fichero CSS y creo la nueva ruta de directorios /modules/blocksearch/views/templates/front/ donde pego ese mismo CSS? ¿o los dejo duplicados? ¿y el js y el tpl también los meto en la nueva ruta aunque no los quiera modificar? Muchas gracias por la ayuda Nadie Edited August 25, 2012 by ivangoti (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted August 25, 2012 Share Posted August 25, 2012 Última duda. En cuanto al módulo blocksearch situado en el raíz, si por ejemplo solo quiero modificar el CSS, ¿elimino el fichero CSS y creo la nueva ruta de directorios /modules/blocksearch/views/templates/front/ donde pego ese mismo CSS? ¿o los dejo duplicados? ¿y el js y el tpl también los meto en la nueva ruta aunque no los quiera modificar? Muchas gracias por la ayuda Nadie Hola, lo que yo te comento se hace si ya existe la carpeta dentro de /modules/, Ejemplo el modulo cheque, si te metes en /modules/cheque/ Dentro veras una carpeta /views/templates/front/ y dentro un tpl Entonces, lo puedes sobreecribir luego en la carpeta templates, con la estructura mencionada. Ahora si no esta el modulo con la estructura preparada, lo sobreescribes igual que con la 1.4 Link to comment Share on other sites More sharing options...
rrdavik Posted November 16, 2012 Share Posted November 16, 2012 Hola, lo que yo te comento se hace si ya existe la carpeta dentro de /modules/, .................................... Entonces, lo puedes sobreecribir luego en la carpeta templates, con la estructura mencionada. Ahora si no esta el modulo con la estructura preparada, lo sobreescribes igual que con la 1.4 y como debería ser la estructura de la 1.4? estoy intentando sobrescribir un addresses.tpl para un modulo y no hay manera.... He probado todas estas localizaciones y no me funciona... alguna idea? 1 /modules/mymodule 2 /themes/mytheme/modules/mymodule 3 /modules/mymodule/themes/mytheme 4 /modules/mymodule/themes/mytheme/modules/mymodule Link to comment Share on other sites More sharing options...
minifox Posted January 11, 2013 Share Posted January 11, 2013 (edited) Me uno a la petición de rrdavik. Ya sé que las respuestas son antiguas pero me interesa saber cómo realizar correctamente el override de un módulo. Para PS 1.5 en adelante. Partamos de los dos siguientes casos: 1) Queremos personalizar en nuestra plantilla los archivos .tpl, .css, .js e imágenes de un módulo con la antigua estructura de carpetas de 1.4 (todos los archivos metidos en la carpeta /modules/nombre-modulo/). 2) Queremos personalizar en nuestra plantilla los archivos .tpl, .css, .js e imágenes de un módulo con la estructura de carpetas de 1.5 (carpetas .../views/...). Para ambos casos suponer que nuestra plantilla no tenía niguna carpeta del módulo especificado. Como aclaración final, he probado a personalizar módulos con la estructura de carpetas de PS 1.4, que no tenían carpetas creadas en mi plantilla, tanto poniendo la estructura antigua (/themes/mi-tema/modules/mi-modulo/archivo.tpl, ...) y la nueva (/themes/mi-tema/modules/mi-modulo/views/templates/front/archivo.tpl) y no funciona ninguna de las dos. Tengo activada la recompilación y borro la caché en producción. Gracias de antemano y esperemos que este tema se cierre pronto para poder servir de ayuda a otros que se encuentren en la misma situación. Edited January 11, 2013 by minifox (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted January 11, 2013 Share Posted January 11, 2013 ----------------------------- Ejemplo 1: Modulo Blocktopmenu Sobreescribir CSS: Copiar fichero: /modules/blocktopmenu/css/superfish-modified.css Y pegar aquí: /themes/default/css/modules/blocktopmenu/css/ (te tienes que crear la estructura de carpetas) ----------------------------- Ejemplo 2 Modulo HomeFeatured: Sobreescribir CSS: Copiar fichero /modules/homefeatured/homefeatured.css Pegar aquí: /themes/default/css/modules/homefeatured/ (te tienes que crear la estructura de carpetas) ----------------------------- Ejemplo 3 Sobreescribir JS Copiar fichero: /modules/blocktopmenu/js/superfish-modified.js Pegar aquí: /themes/default/js/modules/blocktopmenu/js/ (te tienes que crear la estructura de carpetas) Ejemplo 4 Sobreescribir TPL Copiar fichero /modules/productscategory/productscategory.tpl Pegar aquí: /themes/default/modules/productscategory/ (te tienes que crear la estructura de carpetas) --------------------------------------------------------------------------------- Ejemplo "Novedad", por ahora meterlos en el override siguiendo los ejemplos anteriores, aunque la estructura sea de este tipo: Por ejemplo, este es un fichero *.tpl /modules/cheque/views/templates/front/payment_execution.tpl El override, depende hacerlo asi: /themes/default/modules/cheque/views/templates/front/payment_execution.tpl Hacerlo asi, por ahora: /themes/default/modules/cheque/payment_execution.tpl Aunque segun la documentación lo ideal seria asi: /themes/default/modules/cheque/views/templates/front/payment_execution.tpl Pero tengo, entendido, que los modulos todavia no estan preparados, por eso recurrimos al override "antiguo estilo", que es el que funciona ahora. --------------------------------------------------------------------------------- Link to comment Share on other sites More sharing options...
minifox Posted February 6, 2013 Share Posted February 6, 2013 Muchísimas gracias nadie (siento el retraso). ivangoti si puedes, edita el tema y ponlo "resuelto". Link to comment Share on other sites More sharing options...
nadie Posted February 6, 2013 Share Posted February 6, 2013 Muchísimas gracias nadie (siento el retraso). ivangoti si puedes, edita el tema y ponlo "resuelto". Un placer ayudarte y servirte ! Un Saludo Link to comment Share on other sites More sharing options...
sogesan Posted September 26, 2013 Share Posted September 26, 2013 Hola a todos, he probado este método con blocktopmenu pero no actualiza la ruta al CSS para tomar el nuevo ¿sabéis qué puede ser? He borrado caché de navegador y de smarty, y he desactivado y vuelto a activar el tema, pero no lo pilla, las rutas son: /themes/electroant/modules/blocktopmenu/css/superfish-modified.css (en el tema que estoy creando) y también en: /themes/default/modules/blocktopmenu/css/superfish-modified.css (también lo puse en el tema por defecto pensando que pudiera ser de eso, pero tampoco lo toma de ahí) ¿Alguna idea? Saludos y gracias! Link to comment Share on other sites More sharing options...
nadie Posted September 26, 2013 Share Posted September 26, 2013 Hola a todos, he probado este método con blocktopmenu pero no actualiza la ruta al CSS para tomar el nuevo ¿sabéis qué puede ser? He borrado caché de navegador y de smarty, y he desactivado y vuelto a activar el tema, pero no lo pilla, las rutas son: /themes/electroant/modules/blocktopmenu/css/superfish-modified.css (en el tema que estoy creando) y también en: /themes/default/modules/blocktopmenu/css/superfish-modified.css (también lo puse en el tema por defecto pensando que pudiera ser de eso, pero tampoco lo toma de ahí) ¿Alguna idea? Saludos y gracias! Las dos ejemplo que has mostrado son totalmente incorrectos. (Fijate en los que ejemplos que puse arriba) --- Correcto seria así: /themes/default/css/modules/blocktopmenu/css/superfish-modified.css .Ya que si nos fijamos en la estructura del módulo: /modules/blocktopmenu/css/superfish-modified.css Simplemente lo que hacemos es copiar la estructura dentro de: /themes/default/css/ Por cierto, cierro tema ya que en tu caso tienes que crear un tema nuevo. Crea un nuevo tema para cualquier duda que tengas en caso de que no te funcione. Saludos Link to comment Share on other sites More sharing options...
nadie Posted September 26, 2013 Share Posted September 26, 2013 Las dos ejemplo que has mostrado son totalmente incorrectos. (Fijate en los que ejemplos que puse arriba) --- Correcto seria así: /themes/default/css/modules/blocktopmenu/css/superfish-modified.css .Ya que si nos fijamos en la estructura del módulo: /modules/blocktopmenu/css/superfish-modified.css Simplemente lo que hacemos es copiar la estructura dentro de: /themes/default/css/ Por cierto, cierro tema ya que en tu caso tienes que crear un tema nuevo. Crea un nuevo tema para cualquier duda que tengas. Saludos Añado, que aquí: http://www.prestashop.com/forums/topic/259164-solucionado-menu-horizontal-superior-diferente-para-cada-tienda/?do=findComment&comment=1291384 lo tienes explicado con mas detalle. (Ya que tambien tienes que copiar la carpeta img del modulo, para que no se pierdan la relatividad de las rutas de las imagenes) Saludos, Link to comment Share on other sites More sharing options...
Recommended Posts