Jump to content

Añadir campos Address en el registro de Customer


karpoj23

Recommended Posts

Buenas tardes,

estoy intentando añadir campos de la tabla address cuando se registra un usuario. He seguido los siguientes pasos:

- Primero he hecho un override de classes/form/CustomerFormatter.php y he añadido los campos:

   $format['dni'] = (new FormField)
            ->setName('dni')
            ->setType('text')
            ->setMaxLength("16")
            ->setLabel(
                $this->translator->trans(
                    'NIF', [], 'Shop.Forms.Labels'
                )
            )
            ->setRequired(true);

        $format['address1'] = (new FormField)
            ->setName('address1')
            ->setType('text')
            ->setMaxLength("128")
            ->setLabel(
                $this->translator->trans(
                    'Address', [], 'Shop.Forms.Labels'
                )
            )
            ->setRequired(true);

y después para procesarlo he creado un override de AuthController.php con lo siguiente:

                      $address->id_country = (int) Tools::getCountry();
                      $address->address1 = Tools::getValue('address1');
					  $address->dni = Tools::getValue('dni');
                      
                      $address->id_state = 0;
                      $address->alias = $this->trans('My Address', [], 'Shop.Theme.Checkout');                    
                      
                      if($address->save()){
                        $should_redirect = true;
                      } else {
                        $customer->delete();
                        $this->errors[] = $this->trans('Could not update your information, please check your data.', array(), 'Shop.Notifications.Error');
                        $this->redirectWithNotifications($this->getCurrentURL());
                      }

el problema que tengo es que no saltan las validaciones que tiene puesta de en el dni por ejemplo o cualquier validación de campos que tenga para el address desde la ventana de registro del Customer, pero las validaciones de Customer (que firstname no tenga números, fecha de nacimiento correcta...) si que están funcionando. ¿Como podría habilitar esas validaciones?

Muchas gracias

Link to comment
Share on other sites

  • 4 weeks later...

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