fredfred74 Posted September 9, 2013 Share Posted September 9, 2013 Bonjour, J'aimerais ajouter des champs "simples" dans le formulaire d'inscription mais je n'ai aucune idée de comment faire. Les champs sont relatifs à l'adresse, par ex maison ou appartement, ascenseur oui ou non, ... Egalement, est-il possible de rendre obligatoire la date de naissance lors de l'inscription ? Merci d'avance F Link to comment Share on other sites More sharing options...
spacm Posted September 11, 2013 Share Posted September 11, 2013 (edited) Tu peux puiser de l'inspiration dans ce post: http://www.prestashop.com/forums/topic/26530-tutorial-ajouter-un-champ-tva-intracommunautaire-obligatoire/ edit: Attention cependant, le post date un peu, certains fichiers ont bougé (mais le principe y est) Par ailleurs, pour éviter de toucher au core de prestashop, tu peux utiliser un thème personnalisé dans lequel tu modifierai les templates address / addresses / authentication Ajouter des champs implique les créer en base, et éventuellement overrider l'objectmodel associé. Voici aussi un copier/coller d'un aide-mémoire perso, à transposer à ton usage. Par ailleurs, attention si c'est ton premier override à effacer le fichier : cache/class_index.php à chaque ajout ou suppression d'une classe override. Le but de ce document est de décrire comment ajouter un champ client dans prestashop. En l'occurence, il s'agira du numéro de TVA, qui sera demandé à la création du compte client. En fait, il existe un tuto, mais qui me semble incomplet: http://blog.ikonenn.com/2012/08/07/prestashop-1-5-methode-doverride-exemple-ajout-dun-champ/ plutôt reagarder ça: http://www.zaibatsu.fr/articles/modifier-un-modele-sur-prestashop-1-5 L'ajout du champ nécessite: Côté bdd: -Altération de la table customer (ou création d'une autre table ayant pour clé primaire id_customer). ALTER TABLE `prestashopdev`.`ps_customer` ADD COLUMN `no_tva` VARCHAR(15) NULL AFTER `date_upd` ; Côté modèle: -override de la classe Customer -ou peut être dans le cas de la table supplémentaire, créer le modèle qui va avec. (non retenu) Côté vue: -ou utilisation d'un display hook pour ajouter des champs après le formulaire d'origine? (non retenu) -ou personnalisation du thème, modification des templates des formulaires d'édition des clients, en l'occurence: Côté contrôleur: -override du contrôleur AuthController? Hé non, pas besoin. process de création client en front office: authentication.tpl ->SubmitCreate permet l'accès à la page de création de compte ->SubmitLogin permet de se logger ->SubmitGuestAccount (ne m'intéresse pas, guest désactivé) ->SubmitAccount pour créer le compte. En pratique: -Modification de authentication.tpl . Rien de bien original. On s'inspire du reste du template original. -Override de Customer, pour étendre la définition des champs: <?php /*Customer class override for eurocelp module * -ajout d'un champ no_tva * */ Customer::$definition['fields']['no_tva'] = array ('type' => ObjectModel::TYPE_STRING, 'validate' => 'isString'); class Customer extends CustomerCore { public $no_tva; }//end Customer class Edited September 11, 2013 by spacm (see edit history) Link to comment Share on other sites More sharing options...
fredfred74 Posted September 11, 2013 Author Share Posted September 11, 2013 Merci pour cette réponse top, je regarde tout ca F 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