Pioupial Posted January 28, 2020 Share Posted January 28, 2020 (edited) Version de Prestashop : 1.7.6.1 Thème : Classic Version de PHP : 5.6 Bonjour, J'aimerai changer l'ordre des champs de mon formulaire d'inscription, en ayant activé l'option B2B. J'aimerai remonté les champs "Mot de passe" et "Email" juste en dessous du champs "Nom". J'ai regardé du coté du fichier "form-fields.tpl" dans mon template, mais cela ne semble pas être ici. Merci à vous. Edited January 28, 2020 by Pioupial (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted January 28, 2020 Share Posted January 28, 2020 Link to comment Share on other sites More sharing options...
Knowband Plugins Posted January 28, 2020 Share Posted January 28, 2020 Si vous êtes intéressé par les changements de base (ce qui n'est pas la méthode suggérée), Apporté les modifications suivantes dans classes\form\CustomerFormatter.php Déplacez ces lignes $format['email'] = (new FormField()) ->setName('email') ->setType('email') ->setLabel( $this->translator->trans( 'Email', [], 'Shop.Forms.Labels' ) ) ->setRequired(true); if ($this->ask_for_password) { $format['password'] = (new FormField()) ->setName('password') ->setType('password') ->setLabel( $this->translator->trans( 'Password', [], 'Shop.Forms.Labels' ) ) ->setRequired($this->password_is_required); } Juste en dessous du $format['lastname'] = (new FormField()) ->setName('lastname') ->setLabel( $this->translator->trans( 'Last name', [], 'Shop.Forms.Labels' ) ) ->setRequired(true); 1 Link to comment Share on other sites More sharing options...
Pioupial Posted January 28, 2020 Author Share Posted January 28, 2020 Merci pour cette réponse. Vous dîtes pas "pas la méthode suggérée" car cela modifie le CORE de Prestashop et je vais perdre la modification à la prochaine mise à jour ? Link to comment Share on other sites More sharing options...
Knowband Plugins Posted January 28, 2020 Share Posted January 28, 2020 Oui, les modifications de base seront supprimées lors de la mise à jour. Link to comment Share on other sites More sharing options...
Pioupial Posted January 28, 2020 Author Share Posted January 28, 2020 Existe-t-il une autre solution ? Link to comment Share on other sites More sharing options...
Knowband Plugins Posted January 28, 2020 Share Posted January 28, 2020 Override. Copie el archivo en i.e. classes/form/CustomerFormatter.php dentro override/classes/form/CustomerFormatter.php & Actualice la primera línea en el archivo. class CustomerFormatterCore implements FormFormatterInterface to class CustomerFormatter implements CustomerFormatterCore Link to comment Share on other sites More sharing options...
Pioupial Posted February 4, 2020 Author Share Posted February 4, 2020 J'ai copié le fichier CustomerFormatter.php dans le dossier override/classes/form Puis j'ai modifié le code pour modifier l'ordre de mon formulaire comme mentionné ci dessus. Et enfin j'ai bien remplacé la ligne 28 de mon fichier par : class CustomerFormatter implements CustomerFormatterCore Problème, en actualisant ma page j'ai l'erreur suivante : Error: CustomerFormatter cannot implement CustomerFormatterCore - it is not an interface Merci Link to comment Share on other sites More sharing options...
fbenoist.com Posted February 5, 2020 Share Posted February 5, 2020 Bonjour Le plus simple est de ne pas modifier le code PHP mais d'intervenir dans le template customer-form.tpl de votre theme. Exemple pour déplacer les zones email et password avant la zone id_gender : {block name='form_field'} {if $field.name == 'id_gender'} {* Insert field email and password before gender *} {form_field field=$formFields.email} {form_field field=$formFields.password} {/if} {* Do not add the email and password fields which are handled separately. *} {if $field.name != 'email' && $field.name != 'password'} {form_field field=$field} {/if} {/block} Link to comment Share on other sites More sharing options...
Pioupial Posted February 6, 2020 Author Share Posted February 6, 2020 (edited) Au top, cela fonctionne, un grand merci. Dernière chose. J'ai installé le plugin "Custom Registration Fields" pour ajouter d'autres champs à mon formulaire d'inscription. Ses champs viennent s'ajouter à la fin du formulaire par défaut de prestashop. Mais à la fin de ce formulaire par défaut j'ai les cases à cocher suivantes "Recevoir notre Newsletter" et "J'accepte les conditions générales...". Du coup ses champs se retrouvent au milieux de mon formulaire. Une idée pour les mettre à la fin, donc tout en bas après les champs ajoutés par le plugin? Merci Edited February 6, 2020 by Pioupial (see edit history) Link to comment Share on other sites More sharing options...
fbenoist.com Posted February 6, 2020 Share Posted February 6, 2020 Je ne connais pas ce plugin. Le plus simple est de demander à son créateur. 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