DP.Com Posted July 26, 2010 Share Posted July 26, 2010 Bonjour,Mon transporteur m'oblige à avoir le numéro des clients, alors je voudrais rendre ce champ obligatoire lors de l'inscription ..Comment faire ? Link to comment Share on other sites More sharing options...
jeckyl Posted July 26, 2010 Share Posted July 26, 2010 Salut,peut être que ce topic peut t'aider.http://www.prestashop.com/forums/viewthread/57590/developpement/tutorial__ajouter_un_champ_obligatoire_au_formulaire_dinscription Link to comment Share on other sites More sharing options...
spqr Posted July 28, 2010 Share Posted July 28, 2010 Et merci de mettre [Résolu] devant si c'est le cas pour aidé votre prochain Link to comment Share on other sites More sharing options...
DP.Com Posted July 28, 2010 Author Share Posted July 28, 2010 Je ne peux pas mettre résolu si je n'ai pas reussi .. Link to comment Share on other sites More sharing options...
spqr Posted July 28, 2010 Share Posted July 28, 2010 Ah mais pourtant jeckyl avait mis un lien amenant vers la solution, qui plus est sera beaucoup plus facile pour toi puisque le champs numéro de tel existe déjà.Je te refais le début alors pour un numéro fixe.Dans thème/tontheme dans le fichier authentification.tpl à la ligne 198Remplace : {l s='Home phone'} <input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" /> Par : {l s='Home phone'} <input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" /> * Petite explication le * va rajouter l'étoile à coté de ton champs numéro de tel.Ensuite va dans ton dossier Classes et ouvre le fichier Customer.phpRajoute : public $phone; Puis remplacer : protected $fieldsRequired = array('lastname', 'passwd', 'firstname', 'email'); Par : protected $fieldsRequired = array('lastname', 'passwd', 'firstname', 'email', 'phone'); puis faut définir les paramètres de taille et de type :Remplacer : protected $fieldsSize = array('lastname' => 32, 'passwd' => 32, 'firstname' => 32, 'email' => 128; protected $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isName', 'firstname' => 'isName', 'email' => 'isEmail', 'passwd' => 'isPasswd', 'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool'); Par : protected $fieldsSize = array('lastname' => 32, 'passwd' => 32, 'firstname' => 32, 'email' => 128, 'phone' => 128); protected $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isName', 'firstname' => 'isName', 'email' => 'isEmail', 'passwd' => 'isPasswd', 'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool', 'phone' => 'isGenericName'); Là tu viens de rendre le champs obligatoire. Par contre la variable phone n'est pas enregistré dans ta base de donnée si tu veux le faire va falloir la créer. Voilà j'espère t'avoir mis sur la route, je n'ai fait que reprendre et adapté le code posté par BVince dans le lien donnée par jeckyl... Link to comment Share on other sites More sharing options...
PF22 Posted August 3, 2010 Share Posted August 3, 2010 Moi aussi je chercher à rendre le champ téléphone obligatoire.Par contre je comprends pas cette phrase: "Par contre la variable phone n’est pas enregistré dans ta base de donnée si tu veux le faire va falloir la créer. "La variable n'existe carrément pas dans la base ???Pourtant il y a bien un champ qui demande le téléphone, même s'il n'est pas obligatoire ?Bon j'avoue je suis pas au top pour ce qui est de la base de données sous Presta shop...En tout cas merci !Pat. Link to comment Share on other sites More sharing options...
Tox Posted October 15, 2010 Share Posted October 15, 2010 Bonjour, il faut modifier la classe Address.php et non Custumer.php protected $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'postcode', 'city'); en protected $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'postcode', 'city', 'phone');Les autres modifications ne sont pas à faire elles y sont déjà. Link to comment Share on other sites More sharing options...
PF22 Posted November 5, 2010 Share Posted November 5, 2010 Merci !!!Je commence à m'y retrouver. Link to comment Share on other sites More sharing options...
KTech Posted December 1, 2010 Share Posted December 1, 2010 Pour être tout à fait exacte il faut aussi remplacer dans authentification.tpl par là ou l'on rajoute * pour avoir l'étoile de la bonne couleur.Il faut également modifier address.tpl :remplacer {l s='Home phone'} <input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" /> par : {l s='Home phone'} <input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" /> * Link to comment Share on other sites More sharing options...
bobby4722 Posted January 15, 2011 Share Posted January 15, 2011 Bonjour à tous,Moi aussi j'ai besoin d'ajouter la même fonctionalité pour les mêmes raisons.Désolé mais je n'arrive pas à savoir au final: faut t il ajouter ou non l'entrée dans la base de données précédemment évoqué ? Si oui comment, car moi non plus je ne sais pas faire, et je n'ose pas toucher à phpmyadmin pour ne pas faire de grosses bétises !J'ai la version 1.2.5 cela est possible aussi ?Merci d'éclairer ma lanterne si vous pouvez !A bientôt Link to comment Share on other sites More sharing options...
KTech Posted January 15, 2011 Share Posted January 15, 2011 Toucher à la base n'est nécessaire que si vous voulez rendre des champs obligatoires ET qui n'existent pas dans la page d'origine Prestashop.Les modifs sont compatibles 1.2.5 Link to comment Share on other sites More sharing options...
bobby4722 Posted January 15, 2011 Share Posted January 15, 2011 Merci beaucoup pour cette réponse Je compte acheter le module de mise à jour pour évoluer la version de prestashop à la dernière stable en date, cela sera t il toujours compatible ?Merciiii ! Link to comment Share on other sites More sharing options...
bobby4722 Posted January 15, 2011 Share Posted January 15, 2011 Désolé mais cela ne fonctionne pas !J'ai bien l'étoile qui se met mais si je ne saisi pas le numéro -> aucun message d'erreur ?C'est pas normal non ? Pourtant j'ai suivi les dernières instructions à la lettre dans le thème... Link to comment Share on other sites More sharing options...
KTech Posted January 15, 2011 Share Posted January 15, 2011 Attention il faut faire aussi les modifications données par spqr/Tox. Link to comment Share on other sites More sharing options...
bobby4722 Posted January 15, 2011 Share Posted January 15, 2011 Ok oui c un peu plus clair J'ai fait les modifs, mais je me suis retrouvé avec des losanges et points d'intérogation en me disant que je devait renseigner 9 valeurs alors que je n'ai testé que sans le téléphone...De plus je pensai que en supprimant le client via le BO je pouvais ré-inscrire le même, et bah non, l'entrée dois resté dans la BDD.Galère...j'ai donc remis les fichiers originaux de "classes" en attendant de re-vérifié dans un ptit moment. Link to comment Share on other sites More sharing options...
KTech Posted January 15, 2011 Share Posted January 15, 2011 Si tu as des losanges et points d’intérogation ça veut dire que ton éditeur ne sauvergde pas en UTF8 mais en ANSI je pense. De plus je pensai que en supprimant le client via le BO je pouvais ré-inscrire le même, et bah non, l’entrée dois resté dans la BDD. Etonnant ça mais c'est vrai que je n'ai jamais testé. Link to comment Share on other sites More sharing options...
bobby4722 Posted January 15, 2011 Share Posted January 15, 2011 Etonnant ça mais c’est vrai que je n’ai jamais testé. Il n'y a pas que ca il me semble qui réagis pareil.En fait, j'utilise l'éditeur de texte...C un peu galère mais je n'ai que ca et ne sait pas quoi télécharger de gratuit pour éditer.Le soucis viens de là ? car parfois j'ai des erreurs quand je touches les fichiers, alors donc je me disai que c'etait moi qui n'étais ptet pas doué...Comment alors faire pour cela ?Merci pour cette aide en tt cas ! Link to comment Share on other sites More sharing options...
KTech Posted January 15, 2011 Share Posted January 15, 2011 Si tu bosses avec l'éditeur de texte de Windows, effectivement ce n'est pas bon, il ne sait pas sauvegarder en UTF8.De plus, sans la coloration syntaxique le php c'est illisible, je comprend que tu galères.Il faut utiliser Notepad++ : http://notepad-plus-plus.org/ Link to comment Share on other sites More sharing options...
bobby4722 Posted January 15, 2011 Share Posted January 15, 2011 Bon bah ca ne marches pas...J'ai ce message (voir photo en Pj)en revanche j'ai pas le même code dans adress.tpl: {l s='Home phone'} <input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" /> Moi j'ai cà à la place de ce code d'origine: {l s='Home phone'} <input type="text" id="phone" name="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{else}{$address->phone|escape:'htmlall':'UTF-8'}{/if}" /> J'y comprends rien Link to comment Share on other sites More sharing options...
KTech Posted January 15, 2011 Share Posted January 15, 2011 Poste le fichier d'origine et le fichier modifié en pièce jointe. Link to comment Share on other sites More sharing options...
bobby4722 Posted January 17, 2011 Share Posted January 17, 2011 Impossible je n'arrive pas à envoyé les fichiers même en les mettant en archive rar, et je ne sais pas pourquoi ?!Rien à faire même en ayant changé de navigateur les fichiers ne se chargent pas et j'ai ma réponse qui se vide et retour..., je ne comprends pas ! Address.php Customer.php Link to comment Share on other sites More sharing options...
Le-cathare Posted January 20, 2011 Share Posted January 20, 2011 Moi aussi je dois rendre le champ obligatoire pour meme raison. je fais la manip mais cela ne fonctionne pas. j'ai la version 1.3.6plusieur personne done sa version et sa m'enbrouille, que faut il faire exactement Link to comment Share on other sites More sharing options...
Le-cathare Posted January 20, 2011 Share Posted January 20, 2011 Bon je suis arrivé, j'ai testé est quand je fais exprés de ne pas mettre le num voici ce qui s'affiche�phone� requisComment enlever les � et mettre phone par téléphone domicile Link to comment Share on other sites More sharing options...
bobby4722 Posted January 24, 2011 Share Posted January 24, 2011 Bon je suis arrivé, j’ai testé est quand je fais exprés de ne pas mettre le num voici ce qui s’affiche�phone� requisComment enlever les � et mettre phone par téléphone domicile On m'a donné la réponse plus haut ! C'est car ton fichier ne s'enregistre pas en UTFEn revanche, je viens d'arriver à charger 2 fichiers sur 4 que KTech m'avais demandé et impossible à poster sur le forum.Je vais charger 2 autres fichiers ici si j'y parviens. Link to comment Share on other sites More sharing options...
MathieuB Posted March 4, 2011 Share Posted March 4, 2011 Beaucoup de message qui complique la tâche pour le téléphone deux opérations simples :1) #Themes/votretheme/Authentication.tplIl faut ajouter l'étoile * et modifier la class en "required text" {l s='Home phone'} <input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" /> * 2)Rendre le champ obligatoire2.2) #Classes/Address.phpAjouter 'phone' protected $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'postcode', 'city', 'phone'); Link to comment Share on other sites More sharing options...
noclans Posted March 16, 2011 Share Posted March 16, 2011 Merci MathieuB,Tes explications fonctionnent à merveille.De plus cette modification est nécessaire pour que l'installation du module "FIA-NET Système d'Analyse des Commandes" n'affiche plus l'erreur du téléphone (pas encore tester le fonctionnement complet).J'ajouterai juste d'aller aussi dans la partie back-office pour signaler que le téléphone est obligatoire avec la petite "*" car ta modification est ok aussi coté admin.aller dans votre répertoire admin/tabs, ouvrez le fichier "AdminAdresses.php" et remplacer : <input type="text" size="33" name="phone" value="'.htmlentities($this->getFieldValue($obj, 'phone'), ENT_COMPAT, 'UTF-8').'" /> pour ajouter : * Ce qui donne : <input type="text" size="33" name="phone" value="'.htmlentities($this->getFieldValue($obj, 'phone'), ENT_COMPAT, 'UTF-8').'" /> * Link to comment Share on other sites More sharing options...
nobock Posted March 17, 2011 Share Posted March 17, 2011 Bonjour,Cette option est disponible dans la presta 1.4. Pour la 1.3 je peut vous développer un module qui fera la vérification des champs en javascript. Link to comment Share on other sites More sharing options...
Baka Posted March 22, 2011 Share Posted March 22, 2011 Bonjour nobock,tu semble dire que dans la 1.4 il s'agit d une option... il se trouve que c est le cas par defaut et moi je voudrais la surpprimer (je ne demande meme pas le numero de telephone a mes clients) peux tu me dire comment faire? merci Link to comment Share on other sites More sharing options...
nobock Posted March 22, 2011 Share Posted March 22, 2011 Bonjour nobock,tu semble dire que dans la 1.4 il s'agit d une option... il se trouve que c est le cas par defaut et moi je voudrais la surpprimer (je ne demande meme pas le numero de telephone a mes clients) peux tu me dire comment faire? merci Hello,Oui en effet ce n'est pas une option on dirait mais plutot obligatoire. Pour modifier ça faut surement chercher du cote du tpl. Maintenant connaissant un peu presta je pense que c'est plutôt une obligation de la loi. Link to comment Share on other sites More sharing options...
btsconsult Posted March 22, 2011 Share Posted March 22, 2011 Bonjour,Cette possibilité est maintenant par défaut dans la version 1.4.0.17 ! :-) Link to comment Share on other sites More sharing options...
gingerwitch Posted May 13, 2011 Share Posted May 13, 2011 bonjour a tousvoila bon moi c le contraire ^^je n'ai pas besoin d'obliger mes clients a remplir toutes les informations donc je fais le contraire de ce qui est expliqué a savoir je suprime le * au lieux de l'ajoutermais mon prob c'est que je change bien tout sur mon fichier authentication.TPL mais que je la face pas le pugin de firfox "firebug" ou dans dreamweaver auquain changement n'aparet sur mon site ....exemple meme si je change juste un petit message comme "You must register at least one phone number" par "phone number"et bien apres mise a jour rien ne change sur le site... je ne comprends pas! quelqu'un peut 'il m'aider? Link to comment Share on other sites More sharing options...
Baka Posted May 13, 2011 Share Posted May 13, 2011 as tu désactvé ton cache ? Link to comment Share on other sites More sharing options...
gingerwitch Posted May 13, 2011 Share Posted May 13, 2011 habituellement un simple rechargement de page suffi pour voir les changement^^mais bon la je vien de faire un vidage d'historique de cooki ETC et rien ne change j'ai meme essailler depuis d'autre explorateur toujours la meme chose et pourtent mon fichier authentication et bel et bien changer sur le server ;-( je cherche depuis ce matin je ne comprends pas Link to comment Share on other sites More sharing options...
Baka Posted May 13, 2011 Share Posted May 13, 2011 je parle du cache de prestashop... Link to comment Share on other sites More sharing options...
gingerwitch Posted May 13, 2011 Share Posted May 13, 2011 oulala y'a un cache la!! peut tu m'en dire plus?? Link to comment Share on other sites More sharing options...
Baka Posted May 13, 2011 Share Posted May 13, 2011 regarde dans preference> performance Link to comment Share on other sites More sharing options...
gingerwitch Posted May 13, 2011 Share Posted May 13, 2011 oui j'y suis justement et Utiliser le cache et sur non donc y'a pas de cache apparament mais vue que je fait pas mal de chose dans le mauvais sens peut etre que ça doit etre sui oui ?? Link to comment Share on other sites More sharing options...
gingerwitch Posted May 13, 2011 Share Posted May 13, 2011 bon je suis meme aller dans /tools/smarty/cache et j'ai supprimer les fichers qu'il y avait et rien ne change :-( Link to comment Share on other sites More sharing options...
gingerwitch Posted May 13, 2011 Share Posted May 13, 2011 ok apres plusieur tentative cela fonctionne reste plus qu'a faire les changement dans mon fichier classes je croise les doits merci pour l'aide Link to comment Share on other sites More sharing options...
gingerwitch Posted May 13, 2011 Share Posted May 13, 2011 bon grr je continue a me casser la tête mais je ny parvien pasle fichier authentication.tpl semble okles p class="required text"sont remplacé parp class="text" j'ai bien retiré mes*j'ai vider mon cachemais je ne trouve pas ce que je doit changer dans Address.php du docier classesj'ai toujours cesi:01.Vous devez enregistrer au moins un numéro de téléphone02.code postal requisquelqu'un pourrait'il m'aider ;-) ??dans mon idee c'est ici que cela ce situ mais les changement que je fait ne change rien: protected static $_idZones = array(); protected static $_idCountries = array(); protected $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'city'); protected $fieldsSize = array('alias' => 32, 'company' => 32, 'lastname' => 32, 'firstname' => 32, 'address1' => 128, 'address2' => 128, 'postcode' => 12, 'city' => 64, 'other' => 300, 'phone' => 16, 'phone_mobile' => 16, 'dni' => 16); Link to comment Share on other sites More sharing options...
baal Posted June 4, 2011 Share Posted June 4, 2011 bjrconcrètement comment faut il faire pour enlver l obligation de rentrer le numero de telephone, version 1.4?car beaucoup de messages à ce sujet mais toujours pas de solution efficace... Link to comment Share on other sites More sharing options...
Somoweb Posted June 9, 2015 Share Posted June 9, 2015 Merci pour le tuto Moi aussi je chercher à rendre le champ Siret obligatoire.Par contre je comprends cette phrase:Mais ça ne fonctionne pas avec les nouveau Version de prestashop 1.5.6 et 1.6En tout cas merci !www.Somoweb.com Link to comment Share on other sites More sharing options...
Cédric Girard Posted September 4, 2015 Share Posted September 4, 2015 BonjourIl suffit de suivre ce tutoriel : http://doc.prestashop.com/display/PS16/Adresses+des+clients La fonctionnalité est "incluse" dans Prestashop mais bien cachée (fonctionne chez moi sur versions 1.5.x et 1.6.x) 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