Jump to content

Problema al añadir nuevo campo en el formulario de registro


Recommended Posts

Buenos días a todos,

llevo un par de días intentando desarrollar la tarea de meter un campo nuevo de tipo upload al formulario de registro, para temas de subida de pdfs. 

Es por ello que los archivos a modificar son bastantes y en los cuales debo hacer un override para no tocar los archivos base de la instalación y así no tener futuros problemas con actualizaciones o lo que sea.

Por esta parte, me he encontrado un problema al intentar hacer override al archivo de la clase que se encuentra en la ruta: classes/form/CustomerFormatter.php, ya que este me lanza un error 500 cada vez que hago el override y edito la función getFormat() que es imprescindible para añadir mi campo al formulario.

Captura.thumb.JPG.41c07c6e4bb17c5cbf49f454449315af.JPG

 

Esto mismo lo hago en el archivo base y no ocurre ningún problema, y se añade el campo perfectamente, el problema lo tengo al editar esa función en el override.

El texto que añado para mostrar un nuevo campo en el formulario es el siguiente:

$format['model_036'] = (new FormField())
    ->setName('model_036')
    ->setType('model_036')
    ->setLabel(
    $this->translator->trans(
    'Modelo 036',
    [],
    'Shop.Forms.Labels'
    )
    )
    ->setRequired(true);

Como he dicho, este mismo código se implementa en el base y funciona perfectamente sin darme ningún error 500.

 

Por último, y en caso de que tengáis alguna idea de como lo puedo hacer, se implementar un campo de texto pero no uno de tipo upload, ya que deberé guardar el archivo que suban en el registro en el servidor, y esta url guardarla en el campo de la BBDD y mostrarla en el backend dentro del cliente para poder descargar el pdf.

- Versión de prestashop 1.7.6.7

 

Un saludo y gracias a todos de antemano!

PD: @luishuaymana

Link to comment
Share on other sites

Ahora que he estado haciendo pruebas, no puedo añadir tampoco el campo al BackOffice, ya que se usa symfony para los formularios del backend y ya no se encuentra el controlador AdminCustomersController.php con el problema de que no puedo añadirlo tampoco los cambios.

No existe ni un solo tutorial y voy bastante perdido en Symfony y no tengo ni idea de como empezar... si alguien sabe de algún tutorial o lo que sea estaría muy agradecido si me lo puede pasar.

Un saludo y gracias de nuevo.

Resumen: Quiero añadir un campo de tipo upload al formulario de registro de la web, para que los profesionales puedan subir su archivo/modelo en pdf y así poder darle de alta en la web como progesional, para ello necesito que este archivo pdf se guarde en una carpeta en el mismo servidor y desde el backend tener la url del pdf de ese cliente para poder descargarme el pdf o poder acceder a él.

Link to comment
Share on other sites

Hola,

Te has planteado coger un módulo para este fin? Además de evitarte problemas y que en el futuro si actualizas prestashop ya no te valga si cambian las clases, si en un momento dado quieres añadir más es muy facil, con unos clicks lo tienes hecho, se te registran en la cuenta de cliente del panel, son modificables también desde el area de cliente.... 

Si te lo planteas, yo el que he probado y va bastante bien es este https://addons.prestashop.com/en/registration-ordering-process/20594-custom-registration-fields.html

Igualmente te dejo por aquí un tuto de añadir manualmente campos al registro de usuario por si estás haciendo algo diferente https://victor-rodenas.com/anadir-campos-en-el-formulario-de-registro-en-prestashop-1-7/

Un saludo.

Edited by LightSakura (see edit history)
Link to comment
Share on other sites

Buenas @Sakura_CM,

gracias por tu respuesta. Ya estuve mirando un módulo pero me gustaría poder hacerlo por mi mismo, ya que solo necesito añadir un campo y es para una web en pruebas, es decir, es posible que no llegue a lanzarse, es por eso que busco la opción de poder hacerlo manualmente.

Por otra parte, ya vi el tutorial de Victor Rodenas, pero no sirve ya actualmente, porque varios ficheros de los que edita ya no existen porque esas funcionalidades han pasado a hacerse con symfony, es por ello que la parte del backend no se puede tocar como el lo explica en ese tutorial.

Creo que el compañero @luishuaymana esta intentando hacer un tutorial ya que el maneja mucho de estos temas. A ver si hay suerte y consigue darnos una idea.

Un saludo y gracias de nuevo @Sakura_CM

Link to comment
Share on other sites

No lo ha hecho y no tengo noticias de el... ósea iba a ser un tutorial público, no específico para mi, pero supongo que estará ocupado el chico o es que no ha encontrado la solución tampoco, por eso busco más soluciones. :(

Un saludo.

Link to comment
Share on other sites

Hola,

Vaya, que pena... Pues yo poco más te puedo decir ya que no he intentado antes la creacion de un campo en el formulario de registro en prestashop, siempre he usado el módulo que te dije.. Lo siento.

A ver si alguien te puede ayudar o si encuentras la solución nos dices.

Suerte!!

Un saludo.

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