Jump to content

Agregar mas campos formulario registro cliente


Recommended Posts

Buena noche comunidad ¿Cómo estan? me pregunta si me podrian ayudar con un problema que tengo bueno al que quiero hacer, busco agregarle un checkbox de mas al formulario de registro para un cliente, pero no encuentro cual es el controlador que se encargar de insertar el registro de un cliente para poder obtener el valor del checkbox, me podrian ayudar por favor

Link to comment
Share on other sites

Puedes hacerlo desde un módulo utilizando los hooks additionalCustomerFormFields y validateCustomerFormFields.

Si prefieres editar las plantillas y clases, el formulario de registro está en /themes/nombre-de-tu-tema/templates/customer/_partials/customer-form.tpl. Y el código para la validación de los campos lo tienes en /classes/forms/CustomerForm.php (los controladores que lo usan están en /controllers/AuthController.php y /controllers/IdentityController.php). También tienes la función que crea los formularios de registro en /classes/controllers/FrontController.php.

 

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

14 hours ago, Prestafan33 said:

Puedes hacerlo desde un módulo utilizando los hooks additionalCustomerFormFields y validateCustomerFormFields.

Si prefieres editar las plantillas y clases, el formulario de registro está en /themes/nombre-de-tu-tema/templates/customer/_partials/customer-form.tpl. Y el código para la validación de los campos lo tienes en /classes/forms/CustomerForm.php (los controladores que lo usan están en /controllers/AuthController.php y /controllers/IdentityController.php). También tienes la función que crea los formularios de registro en /classes/controllers/FrontController.php.

 

Hola amigo estoy haciendo del modo editando la plantilla y clases, pero no encuentro en donde esta el insert a la tabla customer

Link to comment
Share on other sites

Será necesario hacer un override de Customer.php para incluir el nuevo campo. eg

 

<?php
use PrestaShop\PrestaShop\Adapter\ServiceLocator;
use PrestaShop\PrestaShop\Adapter\CoreException;
/***
 * Class CustomerCore
 */
class Customer extends CustomerCore
{

    public $nuevocampo;

    public function __construct($id = null)
    {
        self::$definition['fields']['nuevocampo'] = array('type' => self::TYPE_STRING, 'validate' => 'isGenericName');

        parent::__construct($id);
    }

}

 

Como te ha indicado @Prestafan33, todo el proceso lo puedes hacer directamente desde un módulo, utilizando los hooks específicos para no tener que editar directamente archivos del core de Prestashop.

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