Jump to content

[SOLUCIONADO] Prestashop 8 - No puedo editar la entidad de proveedor


Recommended Posts

Buen día.

Espero que alguien me pueda ayudar con la situación que se me esta presentando en este momento.

Anteriormente venia trabajando en PrestaShop, en su versión 1.7.5.2. Pero estoy intentando actualizar mi sistema, entonces pensé en utilizar PrestaShop 8, por lo cual realice la instalación en un servidor de pruebas, en el cual instale la versión 8.0.4 

En mi sistema anterior tenia una modificación en los archivos base, para que el modulo de proveedor almacenara un par de campos mas que necesitaba. Ahora en esta nueva versión quiero volver a hacer lo mismo, pero al modificar los mismos archivos no veo que sea efectivo el nuevo campos en mi formulario de creación y edición de proveedor, como si sucedía antes.

No se por que pasa esto, pero a continuación doy un ejemplo de como lo conseguí en la anterior versión de PrestaShop.

Supplier.php:
image.png.2e6b786c4f61192349c5e8ef29ce370d.png
Agregue mis campos nuevos en los atributos de la clase
image.png.2c890e84b2efe3b14525d9078c7bbf55.png
Y adicione los mismos nuevos campos al objeto definition.


AdminSuppliersController.php:

image.png.ba73e5c1c7f1a1e646ec9b8c3d157104.png
Dentro de la funcion renderForm(), hay un atributo que se llena el cual se llama "fields_form", que se llena con arreglos. En este apartado agrego la información referente a mis nuevos campos.

Ademas de esto, es necesario que los nuevos ca,pos existan en la tabla suppliers en la base de datos.


Agradezco su ayuda...

Edited by thelion_99
add tags (see edit history)
Link to comment
Share on other sites

Hola

Actualmente se me sigue presentando el inconveniente a pesar de que actualice a la 8.1.2 (me dio la impresión que era de las mas estables, sin ser excesivamente reciente).

Este mismo ejemplo lo realice con la entidad de Carrier.

En ese caso modifiqué 3 archivos:
-Carrier.php
-AdminCarrierController.php
-AdminCarrierWizardController.php

Los cambios los hice prácticamente en las mismas funciones, a diferencia de las propias del "AdminCarrierWizardController", Pero en este caso si obtuve lo que quería siguiendo los mismos pasos.

No estoy seguro si cambio algo en la generación del formulario de creación de la entidad de Supplier, a diferencia de la de Carrier.

Si alguien tiene algún indicio de por donde debo probar, lo agradezco mucho...

Saludos..

Link to comment
Share on other sites

Todavía continua el proceso de migración que se esta haciendo en prestashop del formato anterior (Legacy) de controladores, enrutado y clases. Con rutas tipo:

/index.php?controller=AdminCarriers&token=38b53a65fcc2009e15b8651b17053d3d

al framework Symfony (Moderno) . Con rutas del tipo 

index.php/sell/catalog/products-v2/?_token=N2z09weH3JldTbHo-11R7hqkxgObaD5l3_aVue7apUo

https://devdocs.prestashop-project.org/8/development/architecture/legacy/legacy-controllers/

En cualquier caso siempre se recomienda no modificar directamente los archivos del core. Existen métodos mas apropiados para ello

https://devdocs.prestashop-project.org/8/modules/concepts/overrides/#class--controller-override

https://devdocs.prestashop-project.org/8/modules/concepts/controllers/admin-controllers/override-decorate-controller/

 

  • Like 1
Link to comment
Share on other sites

Hola Ventura

Gracias por contestar.

Durante las ultimas semanas que he venido tratando este problema que se me esta presentando, he validado tal como me lo comentas, que la mejor opción para estos casos es utilizar la variante de los override (De hecho en los últimos días he aprendido mucho de como funcionan y su uso), y las he utilizado tanto para Carrier (En este casi si funciona con Override) como para Supplier (Aquí no funciona con override).

Al escribir en el foro, preferí no comentar que lo estaba haciendo en override, para evitar perder el foco del error, y que no buscáramos errores en el override, sino en los archivos Core, para mas adelante migrar esta modificación ya funcional al override.

La información que me pasaste fue muy útil, y llegue al GitHub de PrestaShop Dev, donde encontré un ejemplo que quizá me ayuda en lo que necesito.

https://github.com/PrestaShop/example-modules/tree/master/demoproductform

Creo que en este enlace intentan especificar como agregar un nuevo campo a una entidad que esta en la nueva versión de Symfony. El problema es que no lo entiendo. Agradezco si alguien que comprenda mejor este nuevo sistema, me ayude con mi problema.

Mientras seguiré buscando en mas documentación...

Quedo atento a sus comentarios.

Link to comment
Share on other sites

Hola

@ventura Gracias por tomarte el tiempo de ayudarme con ese ejemplo, prácticamente está todo lo que necesito.

Voy a dedicar un poco de tiempo a solucionar el tema de que no se almacene el valor de estos nuevos campos en mi base de datos al registrar un nuevo proveedor.

De igual manera, si quizá consigues solucionar esto antes que yo, te agradezco infinitamente.

La idea es dejar solucionado este problema, en favor de la comunidad.

Link to comment
Share on other sites

@thelion_99 

He añadido modificaciones, si es posible descargarlo de nuevo y vuelve a instalarlo.

Una vez instalado revisa que se haya creado correctamente el override de Supplier en prestashop/override/classes. En caso de que no se haya creado en la instalación, desactiva y vuelve a activar el módulo

Es recomendable borrar el cache de la instalación desde 

Parámetros avanzados -> Rendimiento -> Borrar cache

 

 

  • Thanks 1
Link to comment
Share on other sites

Hola @ventura

 

Gracias por tu colaboración, ya realicé mis validaciones y me di cuenta de que estaba teniendo problemas para verificar tus modificaciones, ya que tenía código escrito en la carpeta PrestaShop/Override que no se estaba dejando sobreescribir al instalar el módulo.

Realice una reinstalación de mi tienda, y todo funciona según lo requerido. Veo los 2 nuevos campos, y al almacenarlos y editarlos, se evidencian los cambios en mi base de datos.

Para resumir, me ayudaste a solucionar un problema en que estaba enrollado varias semanas, en muy pocos días.
Así que te lo agradezco mucho...

Link to comment
Share on other sites

  • thelion_99 changed the title to [SOLUCIONADO] Prestashop 8 - No puedo editar la entidad de proveedor

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...