jesa Posted August 23, 2012 Share Posted August 23, 2012 (edited) Buenos días, estoy creando un módulo propio para añadir una pestaña mas a los datos del producto en la versión 1.5.15. Este módulo lleva asociado la creación de tablas, cosa que consigo hacer cada vez que se instala y desinstala el módulo. Mi problema es que necesito tener una clase y a su vez modificar, en este caso, el AdminProductController de la carpeta Override. Desconozco si esto se suele hacer automáticamente una vez que se instala un módulo...si se crean dentro de la carpeta del módulo o se pone un fichero con el módulo diciendo donde se tienen que copiar estos ficheros. Me gustaría que el módulo se instalara completamente de forma automática y a ver si alguien puede comentar algo sobre este tema que me parece bastante interesante. Saludos Edited August 25, 2012 by jesa (see edit history) Link to comment Share on other sites More sharing options...
jordiob Posted August 23, 2012 Share Posted August 23, 2012 Por lo que sé, hay que hacerlo a manija. Al menos hasta el 1.4.8.2 cuando instalas un módulo que lleva overrides hay que copiarlos/pegarlos en la carpeta que toca a mano. Link to comment Share on other sites More sharing options...
jesa Posted August 23, 2012 Author Share Posted August 23, 2012 Hola Jesa, como bien dices hay que hacer un override del AdminProductController añadiendole el tab para tu módulo, despues en el carpeta admin/themes/default/template/controllers/products añades el .tpl con el mismo nombre que el tab que has creado (esto es por que el hook "displayAdminProductsExtra" no es accesible). Creas la clase para tu módulo, etc... Saludos Gracias por vuestras respuestas. statictic, no entiendo muy bien lo que me cuentas...y me explico. Yo he creado un .tpl dentro de mi carpeta del módulo y después en la clase .php del modulo he creado un metodo hookDisplayAdminProductsExtra que me carga ese .tpl. De esta manera me evito tener que copiar y pegar mas ficheros a parte del override y el class. En todo caso, no soy experto en prestashop ni en php y desconozco si la forma de hacerlo que tú me explicas es la adecuada. Saludos Link to comment Share on other sites More sharing options...
jesa Posted August 23, 2012 Author Share Posted August 23, 2012 Bueno, tengo entendido que el displayAdminProductsExtrano es accesible en la 1.5. Aunque claro puedo equivocarme. Si hechas un vistazo a la documentación de la 1.5 veras que no está este hook para módulos: http://doc.prestashop.com/display/PS15/Creating+a+PrestaShop+module#CreatingaPrestaShopmodule-Backoffice Repito que es lo que tengo entendido... Una, pregunta, ¿cuando cliqueas el tab que has creado te carga el .tpl desde la carpeta del módulo? Saludos Si, efectivamente esta accesible en la versión 1.5.15 al menos, que es la que estoy usando yo en estos momentos. En la documentación no viene, pero lo encontré de chiripa buceando en el código para ver como implementar lo que necesitaba para mi tienda. En cuanto a la pregunta, si que me carga un .tpl al pinchar sobre el tab que he añadido al producto. Este .tpl esta en la carpeta del modulo y lo cargas de forma sencilla creando el método hook que comentaba antes hookDisplayAdminProductsExtra y en este método le pones el nombre del tpl que quieres q cargue. En este método he metido también las variables de amarty que necesito en el tpl para pintarlos y me funciona, aunque no se si son buenas practicas hacerlo aquí o seria mejor cargarlas en otro sitio. Como digo funciona, pero intento hacer las cosas lo mejor posible dentro de lo que se de prestashop y php. Saludos Link to comment Share on other sites More sharing options...
jesa Posted August 23, 2012 Author Share Posted August 23, 2012 Ok, pues cualquier problema me cuentas y si te puedo ayudar.... A ver si alguien nos puede aportar lud sobre estas dudas de la instalación y la copia de ficheros si es que se puede... También vendría bien alguna aclaración sobre donde generar el código de los parámetros y funcionalidad necesaria para las tpl que pintamos...así empezamos bien los módulos. Link to comment Share on other sites More sharing options...
jesa Posted August 23, 2012 Author Share Posted August 23, 2012 Si, efectivamente usé la función copy pero me daba un error porque no me dejaba copiar los ficheros. La verdad que no se mucho php y siempre te queda la duda de si no se puede hacer o es que no se jeje. Lo que busco es poder mover o copiar un fichero de un directorio a otro. Ahora mismo en mi caso necesito mover una clase que he creado totalmente nueva por lo que entiendo que irá en el directorio clasess y he tenido que modificar el AdminProductsController por lo que lo he hecho en la carpeta override para no tocar lo original. Pero como digo, esto es mi caso, cada cual tendrá el suyo y en definitiva lo que hace falta es saber mover ficheros y con eso todo arreglado. También he pensado que puediera ser tema de permisos, pero en local corriendo en un xampp no debería tener problemas de permisos. No se, a lo mejor es una movida que me estoy montando yo solo, pero quiero intentar que mis módulos queden acoplados con darle al botón de instalar del back officce y no tener que hacer nada mas Saludos. Link to comment Share on other sites More sharing options...
jesa Posted August 24, 2012 Author Share Posted August 24, 2012 Perfecto, si que funciona la función copy...el error era mío que en la ruta de destino ponía la ruta, pero no ponía el nombre del fichero y pensaba que el copiaba el fichero tal cual y no es así. Total que con lo que tú has puesto funciona. Saludos Link to comment Share on other sites More sharing options...
jesa Posted August 25, 2012 Author Share Posted August 25, 2012 Lo pongo solucionado y abriré un nuevo tema para hablar el tema del hook para añadir información al producto que me esta dando algún problema de momento. Link to comment Share on other sites More sharing options...
Recommended Posts