Jump to content
David Bellan

[résolu] Formulaire "checkout", pre-remplir le champ "société"

Recommended Posts

Posted (edited)

Bonjour,

Je crée actuellement une boutique destiné au B2B qui va nous servir de mise en relation avec nos commerciaux uniquement. Lors de la validation d'un panier, les informations sont transmis à nos équipes et ce sont eux qui édite un devis au client depuis notre ERP. Tous le reste de la commande ce passe en direct avec celui-ci.

Pour une période de test et pour ne pas alourdir le process la création de compte client à été désactivé et toute les validations de panier implique une identification en tant que "invité" (les articles présent pour la période de test sur cet boutique ne sont pas susceptible d'être commandé plusieurs fois par un même client.

Je bloque actuellement sur une optimisation du formulaire d'inscription :

A la 1er étape je souhaite connaitre l'entreprise et le SIRET du contact, j'ai donc enclencher l'option B2B.

- A la seconde étape, celle de l'adresse de livraison et de facturation, j'ai également besoin du nom de l'entreprise et du SIRET.

Contrairement au champ "Nom et "Prénom" qui est automatiquement repris de l'étape 1, la société et le SIRET ne sont pas repris et j'aimerais que ce soit le cas pour que le client n'ai pas à remplir 2x la même info.

Dans /classes/form/CustomerAddressForm.php à la ligne 182 j'ai cru repérer la fonction qui met en variable le nom et le prénom. J'ai donc ajouté la "company" sur ce même modèle pour tester (j'ai fait un override pour être plus propre).

if (empty($formFields['company']['value'])) {
	$formFields['company']['value'] = $context->customer->company;
} 

A ce stade le champ société n'est pas repris. Je me doute alors qu'il faut encore modifier un autre fichier qui indique au formulaire de pre-remplir le champs avec la variable mais j'avou ne pas avoir trouvé jusqu'ici.

Si quelqu'un à déjà été confronté au problème et peut me donner un petit coup de main cela m'aiderais beaucoup, je n'ai rien trouvé encore sur ce forum ou ailleurs qui pourrait me donner une piste.

Merci d'avance.

Edited by David Bellan
Résolu (see edit history)

Share this post


Link to post
Share on other sites

Finalement il fallait bien éditer juste ce champ.

Lors de mes test je ne devais pas avoir le cache de vidé ou quelque chose dans le genre.

Pour ceux que cela intéresse le code que j'ai utilisé pour le siret est :

if (empty($formFields['dni']['value'])) {
    $formFields['dni']['value'] = $context->customer->siret;
}

J'utilise le champ "dni" pour y insérer le "siret".

Comme je ne sais pas à quoi correspond vraiment le "dni" nous n'avons aucun champ similaire sur notre ERP, je m'en sert pour cela.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More