josepeleato Posted September 19, 2019 Share Posted September 19, 2019 Buenas comunidad, Inicio este hilo por una duda que me ha surgido para PrestaShop 1.7.6.X y que me imposibilita avanzar en una tarea de desarrollo. Tengo que añadir campos personalizados a las categorías de productos, como he hecho anteriormente en productos, atributos, grupos, etc. En el proceso de crear campos extra hay que recurrir a los controladores correspondientes, entre otras acciones. En este caso, necesitaría sobrescribir el archivo /controllers/admin/AdminCategoriesController.php, pero me he llevado una sorpresa cuando he visto que ya no existe en la versión de PrestaShop 1.7.6.0 en la cual trabajo. He reviso el repositorio de GitHub (a fecha de publicación de esta entrada) y en la rama master, si que aparece: https://github.com/PrestaShop/PrestaShop/tree/master/controllers/admin En la rama develop, ha sido eliminada y migrado a /src/…: https://github.com/PrestaShop/PrestaShop/tree/develop/controllers/admin Y en la rama 1.7.6.X, lo mismo, ha sido también migrado. https://github.com/PrestaShop/PrestaShop/tree/1.7.6.x/controllers/admin He leído que no se pueden hacer override de los archivos que existen dentro de /src/ https://www.prestashop.com/forums/topic/606327-how-to-override-classes-in-src-folder/ Por ello, me gustaría preguntar: ¿Alguien conoce la forma de añadir campos extra para categorías a partir de la versión PS 1.7.6.0? Muchas gracias de antemano y un saludo José J. Link to comment Share on other sites More sharing options...
Prestafan33 Posted September 19, 2019 Share Posted September 19, 2019 (edited) Hola, josepeleato. Interesante la cuestión que planteas. En teoría en la versión 1.7.x de Prestashop piden que no se usen los overrides y hacer uso de los hooks que se han incluido (y siguen incluyéndose más en cada nueva versión). Lo que no sé es si lo que tú necesitas se puede hacer mediante un hook. Te comento que yo para modificar productos al guardarlos en la base de datos lo que he hecho alguna vez ha sido implementar en un módulo los hooks: actionObjectProductUpdateBefore, actionObjectProductUpdateAfter, actionObjectProductAddBefore y actionObjectProductAddAfter Dentro de esos métodos recibes el ID del producto que acaba de ser añadido o modificado y puedes añadir o cambiarle lo que necesites y luego hacer un "update". Debes tener cuidado para no entrar en un bucle infinito (si haces un update en un actionObjectProductUpdateAfter volvería a llamarse al hook de nuevo de forma recursiva). En teoría creo que todos los hooks "oficiales" del tipo action disponen de sus correspondientes versiones Object-TipoObjeto-Acción-Before y Object-TipoObjeto-Acción-After, así que tal vez puedas investigar por ahí. En cualquier caso, si encuentras las solución estaría bien que lo comentases por aquí para que aprendamos todos, ya que sobre este tipo de cuestiones existe poca información. Edited September 19, 2019 by Prestafan33 (see edit history) Link to comment Share on other sites More sharing options...
josepeleato Posted September 23, 2019 Author Share Posted September 23, 2019 (edited) Hola Prestafan33, Muchas gracias por la aportación. Cómo bien dices no hay mucha información al respecto y con todos los cambios que hay entre las versiones, lo que se encuentra esta des actualizado o no funciona. Un saludo José J. Edited January 28, 2020 by josepeleato (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now