OfficePlus Posted December 13, 2016 Share Posted December 13, 2016 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 More sharing options...
Alexandre Carette Posted December 14, 2016 Share Posted December 14, 2016 Salut, il y a bien une colonne "atoosync_code_client" en base de donnée a ps_customer ? cdt Link to comment Share on other sites More sharing options...
OfficePlus Posted December 14, 2016 Author Share Posted December 14, 2016 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 More sharing options...
OfficePlus Posted December 14, 2016 Author Share Posted December 14, 2016 (edited) Je précise que j'ai le même problème en modifiant directement la class customer.php J'ai essayé d'importer mes 2 override sur une nouvelle installation de prestashop 1.6.1.10 et j'ai le même problème. Je me demande s'il n'y a pas un autre fichier à modifier. Edited December 14, 2016 by OfficePlus (see edit history) Link to comment Share on other sites More sharing options...
Alexandre Carette Posted December 15, 2016 Share Posted December 15, 2016 faudrait que tu puisses regarder les logs d'erreurs d'apache pour enquêter sur le pb Link to comment Share on other sites More sharing options...
OfficePlus Posted December 15, 2016 Author Share Posted December 15, 2016 J'avais déjà regardé mais je ne trouve aucune erreur apache/php dans les logs. Uniquement les accès: POST /admin6221ixenv/index.php?controller=AdminCustomers&token=89bcab29220c72e64b9e70710fcd51f8 HTTP/1.0 Link to comment Share on other sites More sharing options...
OfficePlus Posted December 15, 2016 Author Share Posted December 15, 2016 J'ai trouvé!! Dans PHPMYADMIN j'ai modifié mon champ 'atoosync_code_client' et forcé la valeur par défaut à NULL (au lieu d'aucune) ça fonctionne. Merci pour ton aide Alex Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now