Jump to content

Agregar otra tabla al INSERT del formulario de registro


gruposte

Recommended Posts

Hola,

 

He modificado mi formulario de registro con nuevos campos editando los archivos:

 

authentication.tpl -> aquí agregue los campos en el form
 

 

AuthController.php -> aquí obtuve los campos nuevos usando:

 Tools::getValue('campo') 

y asignándolos así: 

$customer->campo = $campo;

 

Customer.php -> aquí agregue las validaciones del campo en donde aparecían todos los demás campos así:

'campo' =>  array('type' => self::TYPE_STRING, 'validate' => 'isGenericName')

Todo funciona perfecto, en la tabla ps_customer agregue ese campo y todo funciona pero ahora me surge la necesidad de agregar un campo identificador y crear otra tabla asociada a esa tabla, que cuando alguien se registra haga todo lo que hace actualmente pero también me llene esa otra tabla, supongo que todo se debe hacer en el archivo Customer.php pero aun no se bien como inserta actualmente los datos en la tabla, no entiendo muy bien el código, alguien me puede ayudar a ver el camino a seguir?

 

Saludos!

Link to comment
Share on other sites

 

Para insertar datos tienes estos metodos

http://doc.prestashop.com/display/PS15/DB+class+best+practices#DBclassbestpractices-insert()

 

Tendrias que añadirlo en el AuthController.php en la parte correspondiente al hook

actionBeforeSubmitAccount

 

Muchas gracias por tu respuesta,

 

si ubico donde se hace la llamada al hook desde atuhcontroller.php

 /**
     * Process submit on an account
     */
    protected function processSubmitAccount()
    {
        Hook::exec('actionBeforeSubmitAccount');
        $this->create_account = true;
        if (Tools::isSubmit('submitAccount')) {
            $this->context->smarty->assign('email_create', 1);
        }

pero esa función o hook donde esta declarada? 

 

algo como:

function actionBeforeSubmitAccount() {
   // Aqui pongo mi codigo para insertar en otra tabla
}

Según entiendo es así el proceso verdad?

 

 

Un saludo!

Link to comment
Share on other sites

Si lo haces con un modulo seria utilizando el hook asi

public function hookActionBeforeSubmitAccount($params)

e incluir el insert en la funcion.

 

Si lo haces sobreescribiendo el controlador seria añadiendo el insert en la funcion 

protected function processSubmitAccount()

debajo de 

 Hook::exec('actionBeforeSubmitAccount');
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...