Jump to content

Ajout d'un champ utilisateur dans le BO => Pb création compte


Recommended Posts

Bonjour,

 

Je viens d'ajouter un override sur ma boutique prestashop en v1.6.1.10, afin d'ajouter un champ customer.

 

override/controllers/admin/AdminCustomersController.php

class AdminCustomersController extends AdminCustomersControllerCore
{
	
	public function __construct()
	{
		parent::__construct();
		
		$this->fields_list['atoosync_code_client'] = array(
					 'title' => $this->l('Code Client Sage'),
					'align' => 'center',
		);
	}
	
	public function renderForm()
    {
        $this->fields_form_override =array(
            array(
                'type' => 'text',
					'label' => $this->l('Code Client Sage'),
					'name' => 'atoosync_code_client',
					'required' => false
            ),
        );

        return parent::renderForm();
    }
}

Jusque là pas de problème cela m'affiche bien ma colonne dans la liste client pour filtre, et dans la fiche client (tout en bas) le champ input avec la valeur de la base de donnée s'il y a.

 

 

 

J'ai ensuite rajouter cette class en override afin de pouvoir modifier/ajouter la valeur dans ma base:

 

/override/classes/Customer.php

class Customer extends CustomerCore
{
	public $atoosync_code_client;

	public function __construct($id = null)
	{
	Customer::$definition['fields']['atoosync_code_client'] = array('type' => self::TYPE_STRING, 'validate' => 'isString');
	parent::__construct($id);
	}
}

Après avoir supprimer le fichier class_index.php du cache, je peux correctement modifier mon nouveau champ pour mes client existant.

 

Maintenant mon problème est que je ne peux plus ajouter d'utilisateur dans le BO comme en FO

 

Dans le FO j'ai le message:

 

une erreur s'est produite pendant la création de votre compte

 

et dans le BO:

 

Une erreur s'est produite pendant la création de l'objet. customer ()

 

J'ai juste à commenter la ligne

//Customer::$definition['fields']['atoosync_code_client'] = array('type' => self::TYPE_STRING, 'validate' => 'isString');
	parent::__construct($id);

dans ma class en override et je peux de nouveau inscrire de nouveaux utilisateurs, mais bien sur je ne peux plus mettre à jour mon nouveau champs (que consultation)

 

Merci pour votre aide précieuse.

Link to comment
Share on other sites

Oui, il y a bien la colonne.

 

Je récupère bien les valeurs de la base et j'arrive à mettre à jour cette colonne pour un client existant via le BO. Par après impossible de créer un nouveau client.

 

Si je désactive (uniquement la class). J'ai toujours les valeurs de la colonne (mais je ne peux plus la modifier) et l'inscription des clients fonctionne à nouveau.

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