Jump to content

[CONSULTA]]PS 1.7.6.0] Campos personalizados en categorías de producto


josepeleato

Recommended Posts

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

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 by Prestafan33 (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...