Maxime. Posted October 2, 2009 Share Posted October 2, 2009 Bonjour a tous,je me rend compte que j'ai pas mal de client avec des mails du style : wonadoo, hormail, gmaik, orangz ect.... du coup il sne reçoivent pas les mails...y a t-il un moyen fr faire un verif des mails (du genre, ils rentrent 2 fois leur mail pour vérification) lors de l'inscription ? Merci a tous, bon week end.EDIT, je résume les différents post qu'il y a eu ici : Voici donc une solution : dans authentication.php, vers la ligne 46 on a : if (Tools::isSubmit('submitAccount')) { $create_account = 1; $smarty->assign('email_create', 1); if (!Validate::isEmail($email = Tools::getValue('email'))) $errors[] = Tools::displayError('e-mail not valid'); On rajoute en dessous : elseif (Tools::getValue('email') != Tools::getValue('email_verify')) $errors[] = Tools::displayError('adress no match'); Ce qui donne : if (Tools::isSubmit('submitAccount')) { $create_account = 1; $smarty->assign('email_create', 1); if (!Validate::isEmail($email = Tools::getValue('email'))) $errors[] = Tools::displayError('e-mail not valid'); //Ici la ligne rajoutée elseif (Tools::getValue('email') != Tools::getValue('email_verify')) $errors[] = Tools::displayError('adress not match'); //Fin de la ligne elseif (!Validate::isPasswd(Tools::getValue('passwd'))) $errors[] = Tools::displayError('invalid password'); elseif (Customer::customerExists($email)) $errors[] = Tools::displayError('someone has already registered with this e-mail address'); elseif (!@checkdate(Tools::getValue('months'), Tools::getValue('days'), Tools::getValue('years')) AND !(Tools::getValue('months') == '' AND Tools::getValue('days') == '' AND Tools::getValue('years') == '')) $errors[] = Tools::displayError('invalid birthday'); Ensuite dans authentication.tpl :reperer ce bout de code : {l s='E-mail'} <input type="text" class="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email}{/if}" /> * et rajouter en dessous : {l s='E-mail verify'} <input type="text" class="text" id="email_verify" name="email_verify" value="{if isset($smarty.post.email_verify)}{$smarty.post.email_verify}{/if}" /> * Ce qui donne : {l s='E-mail'} <input type="text" class="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email}{/if}" /> * // ICI LA PARTIE A RAJOUTER {l s='E-mail verify'} <input type="text" class="text" id="email_verify" name="email_verify" value="{if isset($smarty.post.email_verify)}{$smarty.post.email_verify}{/if}" /> * // FIN DE LA PARTIE A RAJOUTER {l s='Password'} <input type="password" class="text" name="passwd" id="passwd" /> * {l s='(5 characters min.)'} Voila pour le check de l'émailNe pas oublier d'aller traduire le message d'erreurs (mail not match) et le label "email_verify" dans le BO.Si en plus vous voulez désactiver le copier coller sur cette partie émail, il y a un bout de code java-script a rajouter :Donc dans authentication.phpOn a ligne 11: //CSS ans JS file calls $js_files = array( _THEME_JS_DIR_.'tools/statesManagement.js' ); $errors = array(); on change ca en : //CSS ans JS file calls $js_files = array( _THEME_JS_DIR_.'tools/statesManagement.js', _THEME_JS_DIR_.'noEmailCopy.js' ); // ici on rajoute une ligne qui indique ou est le code JS. $errors = array(); Puis copier le script présent en pièce jointe (noEmailCopy.js) dans le dossier js de votre thème.Fonctionne sur IE 7&8;/FIREFOX 3/SAFARI/CHROME mais ne fonctionne pas sur Opera noEmailCopy.zip Link to comment Share on other sites More sharing options...
jolvil Posted October 2, 2009 Share Posted October 2, 2009 Oui c'est plutot génant, la double entrée serait intéressante. C'est une information importante pour la relation commerciale et en plus c'est le login du client qui ne pourra pas se connecter.de la meme facon j'ai un certain pourcentage de clients qui intervertissent prénom et nom, j'ai pourtant bien ajouté "Nom de famille" mais il y en a toujours. Mais là on peut pas faire grand chose ou alors il faudrai controler que le prénom existe dans une liste tres complete et si il n'y est pas une question du style "etes vous sur d'avoir entré votre prénom", utopique? peut etre pour bientot qui sait? Link to comment Share on other sites More sharing options...
Fistou69 Posted October 2, 2009 Share Posted October 2, 2009 Oui c'est une très bonne idée que j'avais suggérée il y à déjà un an mais est resté sans effet !!http://www.prestashop.com/forums/viewthread/7082/discussion_generale/petites_suggestions_dot_A suivre.... Link to comment Share on other sites More sharing options...
jolvil Posted October 2, 2009 Share Posted October 2, 2009 Il y a un script en javascript pour ca http://www.javascriptkit.com/script/script2/verifyfield.shtmlmais là on utilise smarty pour le formulaire je crois... Link to comment Share on other sites More sharing options...
Maxime. Posted October 3, 2009 Author Share Posted October 3, 2009 Salut,Bon j'ai avancé un peu sur le problème cette aprem, je crois avoir trouvé une petite solution (a tester avant bien entendu )Rappel : J'utilise presta 1.1Alors dans authentication.tpl, repérer ce code : {l s='E-mail'} <input type="text" class="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email}{/if}" /> * et rajouter en dessous : {l s='E-mail verify'} <input type="text" class="text" id="email_verify" name="email_verify" value="{if isset($smarty.post.email_verify)}{$smarty.post.email_verify}{/if}" /> * Donc cela rajoute un autre formulaire email avec la variable email_verifyEnsuite dans authentication.phpLigne 46 , repérer : if (Tools::isSubmit('submitAccount')) { $create_account = 1; $smarty->assign('email_create', 1); if (!Validate::isEmail($email = Tools::getValue('email'))) $errors[] = Tools::displayError('e-mail not valid'); Et rajouter en dessous : elseif (Tools::getValue('email') != Tools::getValue('email_verify')) $errors[] = Tools::displayError('adress no match'); ce qui donne : if (Tools::isSubmit('submitAccount')) { $create_account = 1; $smarty->assign('email_create', 1); if (!Validate::isEmail($email = Tools::getValue('email'))) $errors[] = Tools::displayError('e-mail not valid'); //Ici la ligne rajoutée elseif (Tools::getValue('email') != Tools::getValue('email_verify')) $errors[] = Tools::displayError('adress not match'); // elseif (!Validate::isPasswd(Tools::getValue('passwd'))) $errors[] = Tools::displayError('invalid password'); elseif (Customer::customerExists($email)) $errors[] = Tools::displayError('someone has already registered with this e-mail address'); elseif (!@checkdate(Tools::getValue('months'), Tools::getValue('days'), Tools::getValue('years')) AND !(Tools::getValue('months') == '' AND Tools::getValue('days') == '' AND Tools::getValue('years') == '')) $errors[] = Tools::displayError('invalid birthday'); D'apres mes test effectué en local ca marche (version 1.1)J'espere ne pas avoir fais de bêtise dans ce bout de code sur le fonctionnement de PS, je ne pense pas, j'ai tester ensuite de modifier l'email une fois inscrit pas de soucis.par contre je n'ai pas encore trouvé comment empêcher le copier / coller.Dite moi si ca marche chez vous. Link to comment Share on other sites More sharing options...
jolvil Posted October 4, 2009 Share Posted October 4, 2009 EDIT: ca marche super ! Link to comment Share on other sites More sharing options...
Maxime. Posted October 4, 2009 Author Share Posted October 4, 2009 Ah , as tu bien fait la modification Jolvil, tu es sur quel version ? Moi ca marche nickel chez moi en tout cas (v1.1).J'vais vérifier si j'ai pas oublier qqchose sur le post quand même Link to comment Share on other sites More sharing options...
jolvil Posted October 4, 2009 Share Posted October 4, 2009 En fait j'avais modifié le premier email de la page authentication.tpl , j'ai modifié comme indiqué le 2eme email et ca fonctionne bien. C'est super pratique, ca devrai etre inclu de base dans Prestashop :cheese: Link to comment Share on other sites More sharing options...
Maxime. Posted October 4, 2009 Author Share Posted October 4, 2009 Edit : Il faut bien faire attention au numero de la ligne de code car il y a plusieurs fois le test d'email dans le fichiers php. Link to comment Share on other sites More sharing options...
jolvil Posted October 4, 2009 Share Posted October 4, 2009 J'ai retrouvé un autre topic en anglais sur le meme sujet :http://www.prestashop.com/forums/viewthread/14409 Link to comment Share on other sites More sharing options...
Maxime. Posted October 4, 2009 Author Share Posted October 4, 2009 Oui j'avais vu ce topic, je me suis d'ailleurs inspiré de celui-ci, sauf que c'est pour la page contactez-nous.Ca marche tj pas chez toi ?? Link to comment Share on other sites More sharing options...
jolvil Posted October 4, 2009 Share Posted October 4, 2009 si si ca marche, c'est adopté pour mon site ;-) Link to comment Share on other sites More sharing options...
mandrake Posted October 4, 2009 Share Posted October 4, 2009 Bonsoir Jolvil,Je souhaiterai le placer sur mon site également, mais il est en 1.2.4, penses-tu que le script modifié est compatible sans danger avec ma version?Merci pour ta réponse.Cdlt,Mandrake. Link to comment Share on other sites More sharing options...
jolvil Posted October 4, 2009 Share Posted October 4, 2009 Oui ca marche pour 1.2.4 , j'ai testé, le code est le même. Link to comment Share on other sites More sharing options...
Maxime. Posted October 4, 2009 Author Share Posted October 4, 2009 Ok nickel , je vais voir ce que je peux faire pour le copier / coller Link to comment Share on other sites More sharing options...
mandrake Posted October 4, 2009 Share Posted October 4, 2009 Re Jolvil, bonsoir Ma2x,Idem pour moi, cela fonctionne nickel sur la 1.2.4! C'est top!Par contre où puis-je modifier le terme "e-mail verify" et mettre à la place "vérification email" ? car je pense que quelques inconditionnels du français de base vont se demander ce que c'est que cette ligne...J'ai aussi effectué un test en erreur volontaire, pas de soucis, ça refuse l'inscription tant que le mail n'est pas corrigé.Merci pour ta réponse,Cdlt,Mandrake. Link to comment Share on other sites More sharing options...
Maxime. Posted October 4, 2009 Author Share Posted October 4, 2009 Salut mandrake,Il te suffit de changer tout les 'email_verify' par 'verification_email' , mais ce sont des variables ou des identifiants propre au code Html et php, personne ne les vois donc (sauf si on regarde les sources). La plupart des variables sont en anglais dailleurs.Le truc que les client verrons par contre c'est le 'email not match' que tu pourrais changer (je l'avais mis pour tester). Il pourrais etre reformulé plus joliment en anglais. N'oublie pas par ailleurs qu'il nécessite aussi la traduction via le BO pour qu'il s'affiche en FR. (dans la partie message d'erreur) Link to comment Share on other sites More sharing options...
mandrake Posted October 4, 2009 Share Posted October 4, 2009 Ok Ma2x,Je te remercie, je fais la modif de suite!Bonne soirée!Cdlt,Mandrake. Link to comment Share on other sites More sharing options...
mandrake Posted October 4, 2009 Share Posted October 4, 2009 J'oubliais!"Email verify" apparaît dans le formulaire d'inscription en français, d'où ma requête...Bonne soirée à nouveau!Cdlt, Mandrake. Link to comment Share on other sites More sharing options...
jolvil Posted October 4, 2009 Share Posted October 4, 2009 Pour la traduction il suffit d'aller dans l'outil traduction du Back office et de chercher les champs vide pour la traductions en francais des messages d'erreur et du front office pour authentication. Link to comment Share on other sites More sharing options...
Maxime. Posted October 4, 2009 Author Share Posted October 4, 2009 J'oubliais!"Email verify" apparaît dans le formulaire d'inscription en français, d'où ma requête...Bonne soirée à nouveau!Cdlt, Mandrake. A oui je l'avais zapper celui la ^^Bonne soirée Link to comment Share on other sites More sharing options...
mandrake Posted October 4, 2009 Share Posted October 4, 2009 Abracadra fouchtra (je me lâche ) :wow: Tout est maintenant ok!Un grand merci à vous deux!Bonne nuit!Cdlt,Mandrake. Link to comment Share on other sites More sharing options...
Maxime. Posted October 4, 2009 Author Share Posted October 4, 2009 Re,Je pense avoir trouvé une ptite soluce pour le click droit et la selection à l'aide d'un petit java-script : Il faut tout d'abord installer le script no_select.js dans le répertoire js de votre thème.Ensuitetoujours dans authentication.php , au début du fichier ligne 11 on a : //CSS ans JS file calls $js_files = array( _THEME_JS_DIR_.'tools/statesManagement.js' ); $errors = array(); On rajoute en dessous: _THEME_JS_DIR_.'no_select.js' Ce qui donne : //CSS ans JS file calls $js_files = array( _THEME_JS_DIR_.'tools/statesManagement.js', // attention à la virgule à rajoutée _THEME_JS_DIR_.'no_select.js' // ligne à rajoutée ); $errors = array(); Voila, normalement le clic droit et la sélection sont désactivés uniquement sur la case émail pas les autres.testé sur IE et firefox (en local), je n'ai pas les autres navigateur sur mon PC à la maison, j'regarderais demain.Dite moi si c'est ok pour vous. (en local of curz )Good night !EDIT : je viens de me rendre compte que cela bloque le copier/coller et le select de la case email de la partie "deja enregistrée" ... je regarderai demain. no_select.zip Link to comment Share on other sites More sharing options...
jolvil Posted October 5, 2009 Share Posted October 5, 2009 Sympa mais n'empêche pas le control C, control V pour la copie ! Link to comment Share on other sites More sharing options...
Maxime. Posted October 5, 2009 Author Share Posted October 5, 2009 Salut Jolvil,Bah si l'utilisateur ne peux pas sélectionner ce qu'il veux copier, ctrl-c / ctrl-v ne sert plus a grand chose , sauf si effectivement il copie/colle son mail avant, mais ca reste assez rare je pense. Ou alors on interdit le select et clique droit sur toute les cases email, mais niveau ergonomie c'est pas top . Je vais voir si il y a moyen de desactivé le ctrl-v ctrl-c quand même au cas ou. Link to comment Share on other sites More sharing options...
mandrake Posted October 6, 2009 Share Posted October 6, 2009 Bonsoir Ma2x,Le script en js fonctionne impec!Merci beaucoup!Bonne nuit,Cordialement,Mandrake. Link to comment Share on other sites More sharing options...
Maxime. Posted October 7, 2009 Author Share Posted October 7, 2009 Hello,MAJ : J'ai changer le script pour qu'il désactive le ctrc-c ctrl-v.Autre chose si l'on veux que le script ne fonctionne que sur l'émail lors de l'inscription, il faut changer et mettre le bout de code $js_files = array( _THEME_JS_DIR_.'tools/statesManagement.js', _THEME_JS_DIR_.'no_select.js' ); Dans le bloc de code ligne 28 if (Tools::isSubmit('SubmitCreate')) { if (!Validate::isEmail($email = Tools::getValue('email_create'))) $errors[] = Tools::displayError('invalid e-mail address'); elseif (Customer::customerExists($email)) $errors[] = Tools::displayError('someone has already registered with this e-mail address'); else { $js_files = array( _THEME_JS_DIR_.'tools/statesManagement.js', _THEME_JS_DIR_.'no_select.js' ); // ligne a rajouter $create_account = 1; $smarty->assign('email_create', Tools::safeOutput($email)); $_POST['email'] = $email; } } Du coup il le fera uniquement sur la ligne d'émail de l'inscription, et plus sur la ligne émail de la connexion au compte client.Pensé bien a remettre la ligne d'origine par contre (ligne 11). //CSS ans JS file calls $js_files = array( _THEME_JS_DIR_.'tools/statesManagement.js' ); A tester en local avant comme d'hab Dite moi si c'est ok pour vous. no_select.zip Link to comment Share on other sites More sharing options...
jolvil Posted October 7, 2009 Share Posted October 7, 2009 super ca marche bien sur chrome, IE7 et FF. En fait le no select ne fonctionne pas sur Chrome, là le CtrlC et Ctrl V est desactivé sur chrome donc c'est bon. Merci ! Juste un truc que j'ai noté: apres le message d'erreur, la selection et le copié collé est à nouveau possible mais c'est déja pas mal ! Link to comment Share on other sites More sharing options...
Maxime. Posted October 8, 2009 Author Share Posted October 8, 2009 Yop, Bon j'ai encore modif un peu le script pour que ca soit plus propre.Du coup j'ai laissé possible la sélection, j'ai juste désactivé le click droit et les ctrl-c/v (sur les 2 champs email et email_verify). Je trouvais ca plus ergonomique pour l'utilisateur, de plus ca règle le fait que ca ne fonctionnais plus une fois le "mail no match" affiché.Donc : dans authentication.php on laisse ligne 11 : //CSS ans JS file calls $js_files = array( _THEME_JS_DIR_.'tools/statesManagement.js', _THEME_JS_DIR_.'no_select.js' ); $errors = array(); Et il y a juste a remplacer le no_select.jsCa marche sous Firefox / IE 8 / Safari / Chrome mais pas sur Opera. no_select.zip Link to comment Share on other sites More sharing options...
jolvil Posted October 8, 2009 Share Posted October 8, 2009 j'ai un probleme avec le dernier .js : on ne peux pas taper les c et v dans le champ de l'email, donc impossible de s'incrire si l'email comporte ces lettres, testé uniquement avec chrome. Link to comment Share on other sites More sharing options...
Maxime. Posted October 8, 2009 Author Share Posted October 8, 2009 effectivement :/ ... je check Link to comment Share on other sites More sharing options...
Jean-Bruno Posted October 8, 2009 Share Posted October 8, 2009 Salut à tousil me semble qu'il y a quelque part dans 1.2.4 une fonction ou un module qui envoi un lien de validation par mail. C'est une info complémentaire qui doit intéresser pas mal d'entre nous !a+ Link to comment Share on other sites More sharing options...
Maxime. Posted October 8, 2009 Author Share Posted October 8, 2009 Salut à tousil me semble qu'il y a quelque part dans 1.2.4 une fonction ou un module qui envoi un lien de validation par mail. C'est une info complémentaire qui doit intéresser pas mal d'entre nous !a+ Il y a une modif qui fait ca je crois... mais le client qui veux passé une commande rapidos a peut etre pas envi d'aller dans son mail pour activer son compte ? Link to comment Share on other sites More sharing options...
Maxime. Posted October 8, 2009 Author Share Posted October 8, 2009 Bon cette fois je pense que c'est la bonne ! :ahhh: j'ai refais le fichier js, tout devrait entrée dans l'ordre : sélection possible, click droit désactivé, copier/coller desactiver, sur email et vérification de l'émail.jolvil, je compte sur toi pour tester good night no_select.zip Link to comment Share on other sites More sharing options...
Jean-Bruno Posted October 9, 2009 Share Posted October 9, 2009 j'ai retrouvé pour ceux que ça intéresse : http://www.prestashop.com/forums/viewthread/10305/modules/module_customerregistration_management Link to comment Share on other sites More sharing options...
jolvil Posted October 9, 2009 Share Posted October 9, 2009 jolvil, je compte sur toi pour tester Testé, ca à l'air tout bon ! :cheese:Chrome, IE7, FF3 OK, il y a juste Opera qui ne le prend pas en compte mais il est assez peu utiliséSafari je ne sais pas Link to comment Share on other sites More sharing options...
Maxime. Posted October 9, 2009 Author Share Posted October 9, 2009 jolvil, je compte sur toi pour tester Testé, ca à l'air tout bon ! :cheese: Cool Je vais mettre résolu et éditer le premier post. Link to comment Share on other sites More sharing options...
Maxime. Posted October 9, 2009 Author Share Posted October 9, 2009 jolvil, je compte sur toi pour tester Testé, ca à l'air tout bon ! :cheese:Chrome, IE7, FF3 OK, il y a juste Opera qui ne le prend pas en compte mais il est assez peu utiliséSafari je ne sais pas Safari est ok (il existe une version pour windows). Sinon effectivement sur Opera, ca ne fonctionne pas, mais Opera ne prends pas en compte toute les petites modif en JS qui touche un peu aux standard Link to comment Share on other sites More sharing options...
jolvil Posted October 10, 2009 Share Posted October 10, 2009 Safari est ok (il existe une version pour windows). J'ai testé Safari sur un Mac et ca ne marchait pas, mais bon c'est pas grave on dira que les utilisateurs de Mac font moins d'erreur! :cheese: Link to comment Share on other sites More sharing options...
nico Posted February 19, 2010 Share Posted February 19, 2010 Merci maxime j'ai regroupé tes modifs dans un fichier avec toutes les explicationstesté sous 1.1, 1.2.4.0 et 1.2.5.0 verifmail.zip Link to comment Share on other sites More sharing options...
seno Posted March 25, 2010 Share Posted March 25, 2010 Salut Nico,J'ai testé ton "regroupement" il ne fonctionne pas.Mais merci quand même.Je vais relire en amont ce qu'il fallait faire. Link to comment Share on other sites More sharing options...
Marc Posted July 30, 2010 Share Posted July 30, 2010 Merci maxime j'ai regroupé tes modifs dans un fichier avec toutes les explicationstesté sous 1.1, 1.2.4.0 et 1.2.5.0 Bonjourj'ajoute ok pour la 1.3.1 ;-P Link to comment Share on other sites More sharing options...
SITOLOG - F Bugnet Posted September 2, 2010 Share Posted September 2, 2010 Bonjour,Ca marche chez moi aussi (V1.2.4). Merci pour cette modif.Cependant, j'ai l'habitude d'utiliser Ctrl Insert et Shift Insert à la place de Crtl C et Ctrl V et j'ai pu voir que ces raccourcis alternatifs ne sont pas filtrés par le JS.Je vais chercher tout seul et essayer de corriger...Franck Link to comment Share on other sites More sharing options...
Marc Posted November 1, 2011 Share Posted November 1, 2011 bonjour Une idée pour la 1.4.5 ? Merci Link to comment Share on other sites More sharing options...
romanosnorky Posted September 17, 2012 Share Posted September 17, 2012 Bonjour, Cette fonction m'intéresse mais je suis sous 1.4.2.5 Est ce que quelqu'un l'a testé en 1.4 ? Cette fonction devrait être incluse de base dans prestashop en tout cas. Link to comment Share on other sites More sharing options...
utaku Posted April 29, 2014 Share Posted April 29, 2014 hello, Je chercher a avoir cette fonctionnalité mais sous 1.6 , quelqu'un à une idée de comment faire ? Bien à vous Link to comment Share on other sites More sharing options...
akhawat Posted April 30, 2014 Share Posted April 30, 2014 Bonjour je cherche la solution pour 1.5.6.1 cdlt Link to comment Share on other sites More sharing options...
MangaBourou976 Posted November 1, 2014 Share Posted November 1, 2014 (edited) Bonjour, J'ai testé cette fonctionnalité sur la version 1.5.4 et effectivement cela ne marche pas. Le PB est que l’événement window.onchange n'est pas prise en compte à l'arrivé dans cette page donc le script n'est pas exécuté. Une solution possible : utiliser l’événement onclick car (l'utilisateur doit forcément cliquer sur la page) window.onclick = function() { disableEmailCopy(); } Edited November 1, 2014 by Hamida (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