Bonjour à toutes et à tous.
Je viens vers vous au sujet d'un problème que je rencontre actuellement pour créer des "cases à cocher" dans le formulaire de modification de la fiche client.
Je souhaite ajouter un champs "participation aux expos" avec deux choix possibles. Ceux-ci devront être stocké sur mysql. J'ai créé deux
Pour reprendre l'historique de mes modifications :
- J'ai overridé le fichier Customer.php pour y ajouter ce code :
/** @var string Expo 1 */
public $expo1;
/** @var string Expo 2 */
public $expo2;
ainsi que ce code dans "public static $definition" :
'expo1' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
'expo2' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
Ensuite, j'override AdminCustomersController.php et j'y ajoute :
$this->fields_form['input'][] = array(
'type' => 'checkbox',
'name' => 'expo1',
'values' => array(
'query' => array(
array(
'id_option' => 'NOM EXPO 1',
'name' => 'NOM EXPO 1'
)
),
'id' => 'id_option',
'name' => 'name'
)
);
$this->fields_form['input'][] = array(
'type' => 'checkbox',
'name' => 'expo2',
'values' => array(
'query' => array(
array(
'id_option' => 'NOM EXPO 2',
'name' => 'NOM EXPO 2'
)
),
'id' => 'id_option',
'name' => 'name'
)
);
J'ai aussi ajouté dans $this->tpl_view_vars
'expo1' => $customer->expo1,
'expo2' => $customer->expo2,
Pour la partie mysql, j'ai créé mes deux champs via la commande :
ALTER TABLE `ps_customer`
ADD `expo1` VARCHAR(64)
ADD `expo2` VARCHAR(64)
Pour faire apparaître les champs à la page d'inscription, j'ai aussi modifié les fichiers AuthController.php et authentification.tpl mais je ne pense pas qu'ils soient liés à ce problème. Lors de l'inscription, les cases cochés sont bien mises à jour dans mysql.
Je ne rencontre pas de message d'erreur lors du chargement de la page mais lorsque je coche l'une des cases, ou les deux, il n'y a pas de mise à jour sur mysql. Et lorsque je reviens sur la modification de la fiche, logiquement les cases sont décochées.
Les infos de mon serveur/install :
Version de PrestaShop 1.6.0.9
Version de MySQL 5.6.24-2+deb.sury.org~vivid+2
Version de PHP 5.6.4-4ubuntu6.2
Merci d'avance pour vos réponses.