tom56 Posted June 30, 2015 Share Posted June 30, 2015 (edited) Bonjour, Je suis en train d'essayer de rajouter 2 champs à la classe Customer. J'ai overridé la classe avec <?php class Customer extends CustomerCore { public $compte_client; public $intitule; public function __construct($id = null) { Product::$definition['fields']['compte_client'] = array('type' => self::TYPE_STRING, 'validate' => 'isString'); Product::$definition['fields']['intitule'] = array('type' => self::TYPE_STRING, 'validate' => 'isString'); parent::__construct($id); } } J'ai ensuite overridé le controller avec <?php class AdminCustomersController extends AdminCustomersControllerCore { public function __construct() { parent::__construct(); $this->fields_list['compte_client'] = array('title' => $this->l('Customer account')); $this->fields_list['intitule'] = array('title' => $this->l('Intitulé')); } public function renderForm() { $this->fields_form_override = array( array( 'type' => 'text', 'label' => $this->l('Customer account'), 'name' => 'compte_client', 'col' => '4' ), array( 'type' => 'text', 'label' => $this->l('Intitulé'), 'name' => 'intitule', 'col' => '4' ) ); return parent::renderForm(); } } J'ai également ajouté les 2 champs en base. J'ai bien mes 2 nouveaux champs dans la fiche d'un client mais les champs ne s'enregistrent pas en base. Auriez-vous une idée ? Merci Edited June 30, 2015 by tom56 (see edit history) Link to comment Share on other sites More sharing options...
Elitius Posted June 30, 2015 Share Posted June 30, 2015 Bonjour, Question bête: as tu rajouté ces deux champs dans la structure de la table correspondante dans ta bdd ? Link to comment Share on other sites More sharing options...
tom56 Posted June 30, 2015 Author Share Posted June 30, 2015 Oui j'ai bien rajouté les 2 champs en base. Si je remplis directement en base, les données s'affichent dans la fiche client. J'ai remarqué que dans ObjectModel.php, la fonction getFields() ne renvoie pas mes 2 nouveaux champs. Link to comment Share on other sites More sharing options...
tom56 Posted July 1, 2015 Author Share Posted July 1, 2015 Je viens de trouver mon erreur, un mauvais copié collé. C'était pas Product::$definition['fields']['compte_client'] mais Customer::$definition['fields']['compte_client'] Désolé du dérangement. Link to comment Share on other sites More sharing options...
KIKOUN1 Posted December 22, 2015 Share Posted December 22, 2015 (edited) Bonjour chers tous, J'ai besoin d'aide. J'ai essayé d'ajouter un champ à la classe Customer mais malheureusement cela m'a conduit à une page blanche. L'activation des erreur PHP affiche: "Fatal error: Class ‘Customer’ not found in /home/Identifiant/www/config/config.inc.php on line 217" A cette ligne et suivantes se trouve ce code: if (!isset($customer) || !Validate::isLoadedObject($customer)) { $customer = new Customer(); /* Change the default group */ if (Group::isFeatureActive()) { $customer->id_default_group = (int)Configuration::get('PS_UNIDENTIFIED_GROUP'); } } $customer->id_guest = $cookie->id_guest; $context->customer = $customer; Que signifie cette erreur? Quelle est son origine? Comment la corriger? Merci. Ps: j'ai déjà retiré toutes les modifications pour revenir au code d'avant manipulation. KIKOUN Edited December 23, 2015 by KIKOUN1 (see edit history) Link to comment Share on other sites More sharing options...
Toinou_74 Posted January 21, 2016 Share Posted January 21, 2016 (edited) Bonjour, J'ai creer un nouveau champs sur la meme methode que la votre, mais impossible d'inscrire la valeur entré en DB... <?php class Customer extends CustomerCore { public $id_employee; public function __construct($id = null) { Customer::$definition['fields']['id_employee'] = array('type' => self::TYPE_STRING, 'validate' => 'isString'); parent::__construct($id); } } <?php class AdminCustomersController extends AdminCustomersControllerCore { public function __construct() { parent::__construct(); $this->fields_list['id_employee'] = array('title' => $this->l('id_employee')); } public function renderForm() { $this->fields_form_override = array( array( 'type' => 'text', 'label' => $this->l('Commercial'),'name' => 'id_employee', 'col' => '4' ) ); return parent::renderForm(); } Auriez vous une idee du probleme? Merci pour votre aide. Edited January 21, 2016 by Toinou_74 (see edit history) 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