Jump to content

[RÉSOLU] Modifier enregistrement adresses clients


Recommended Posts

Bonjour,

 

Je suis sous la dernière version de prestashop, la 1.4.3 et j'utilise pour ma boutique la commande en une seule étape.

Pour des raisons de compatibilité avec mon back-office externe, je dois modifier l'enregistrement des adresses des clients lorsqu'ils s'inscrivent.

 

Par exemple, si un client s'inscrit avec l'adresse de livraison similaire à l'adresse de facturation, je dois enregistrer dans la base de données 2 lignes, l'une avec l'alias Adresse de Livraison et l'autre avec Adresse de facturation, et même principe si les deux adresses sont différentes.

 

J'avais réalisé ce système sur une version 1.3, mais sur une version 1.4, je n'arrive pas à trouver où les adresses sont enregistrées, j'ai regarder le fichier OrderOpcController.php, ainsi que quelques classes sans succès.

 

Quelqu'un aurait-il une idée du fichier que je dois modifier ?

 

Merci pour votre aide.

Link to comment
Share on other sites

Bonjour,

 

Je suis sous la dernière version de prestashop, la 1.4.3 et j'utilise pour ma boutique la commande en une seule étape.

Pour des raisons de compatibilité avec mon back-office externe, je dois modifier l'enregistrement des adresses des clients lorsqu'ils s'inscrivent.

 

Par exemple, si un client s'inscrit avec l'adresse de livraison similaire à l'adresse de facturation, je dois enregistrer dans la base de données 2 lignes, l'une avec l'alias Adresse de Livraison et l'autre avec Adresse de facturation, et même principe si les deux adresses sont différentes.

 

J'avais réalisé ce système sur une version 1.3, mais sur une version 1.4, je n'arrive pas à trouver où les adresses sont enregistrées, j'ai regarder le fichier OrderOpcController.php, ainsi que quelques classes sans succès.

 

Quelqu'un aurait-il une idée du fichier que je dois modifier ?

 

Merci pour votre aide.

 

A mon sens , de mémoire , il doit y avoir sur opc le même champs checkbox que sur le processus standard du type 'same_address' . (Je suis pas sûr du nom hein ! )

Il suffirait de rajouter la classe hidden à ce champ dans order_opc.tpl (toujours pas plus sûr du nom...) pour qu'il ne s'affiche pas et que le client soit contraint d'entrer deux fois l'adresse , qu'elle soit identique ou non .

C'est une idée moyenne , mais une idée tout de même .

 

Edit : moyenne mais qui prend 30 secondes à mettre en oeuvre ...

Link to comment
Share on other sites

Alors, au final j'ai utilisé ton astuce, avec un peu de javascript pour remplir automatiquement les champs de l'adresse de facturation lorsque l'on remplit l'adresse de livraison.

 

Afin de toujours garder les alias "Adresse de livraison" et "Adresse de facturation", j'ai remplis les champs hidden "alias" avec ces valeurs là, et j'ai modifié le code du fichier AddressController.php (ligne 153) pour que l'adresse avec l'alias Adresse de facturation soit toujours attribuée à une adresse de facturation et de même pour l'adresse de livraison :

 

if (!Tools::isSubmit('ajax'))
{
       $to_update = true;
if($address->alias = "Adresse de livraison")
	self::$cart->id_address_delivery = $address->id;
elseif($address->alias = "Adresse de facturation")
	self::$cart->id_address_invoice = $address->id;

// if (self::$cart->id_address_invoice == $address_old->id)
// {
	// $to_update = true;
	// self::$cart->id_address_invoice = $address->id;
// }
// if (self::$cart->id_address_delivery == $address_old->id)
	// {
	// $to_update = true;
	// self::$cart->id_address_delivery = $address->id;
// }
if ($to_update)
	self::$cart->update();
}

 

 

Ensuite, j'ai enlevé tous les boutons "Ajouter une nouvelle adresse" et "Supprimer une adresse" pour pas qu'il n'y est de doublons.

 

Et voilà !

Link to comment
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...