Jump to content
jma85

Comment récupérer le pays (id_country) d'un client ?

Recommended Posts

Bonjour,

Je souhaite récupérer l'id_country de l'adresse du client.
J'ai essayé mais cela ne fonctionne pas
J'ai prest 1.3.6
je souhaite dans la page order.php récupérer le pays (id_country) du client afin d'effectuer une action suivant sont pays.
La problème c'est que j'ai aucune idée comment récupérer cet id

Si vous pouviez m'aider ce serait une grande aide. Avec un bout de code merci.

Merci d'avance

JMA

Share this post


Link to post
Share on other sites

Bonsoir,

Vous voulez récupérer en php ou en smarty ?

Bien cordialement

Share this post


Link to post
Share on other sites

je souhaite récupérer l'id_country de l'adresse de livraison du client connecté dans le fichier order.php qui est à la racine du site.

JMA

Share this post


Link to post
Share on other sites

Bonjour,

Depuis order.php tu peux avoir accès à l'objet Cart, qui te sort :

Cart Object
(
   [id] => 
   [id_address_delivery] => 4
   [id_address_invoice] => 4
   [id_currency] => 1
   [id_customer] => 2
....



Grâce à $cart->id_address_delivery ou $cart->id_address_invoice (à toi de voir), tu peux peut-être arriver à instancier l'objet Address comme ceci dans ton code :

$AddressClient = new Address($cart->id_address_delivery);
$Le_Pays_Du_Client = $AddressClient->id_country;



Bonne continuation

Share this post


Link to post
Share on other sites

Bonjour,

 

je cherche moi aussi desesperement à recuper le id_country du client afin d'inserer une condition dans la creation pdf des factures (invoice.tpl) du type si le pays de livraison du client est la france alors presentons la facture de telle façon, si le pays de livraison est à l'exterieur de la france alors il faut presenter la facture de cette façon...

 

A l'avance merci pour votre aide,

Olivier G

Share this post


Link to post
Share on other sites

Bonjour,

Pour Prestashop 1.5 :

Direction la fonction getContent() du fichier classes/pdf/HTMLTemplateInvoice.php. Effacer la ligne 56 qui est fausse :

$country = new Country((int)$this->order->id_address_invoice);

Ajouter avant le return de la fin de la fonction :

$country = new Country($invoice_address->id_country);

 

Maintenant vous pouvez créer un template de facture pour chaque pays en le nommant invoice.VOTRE_ISO_CODE.tpl dans le dossier pdf.

Share this post


Link to post
Share on other sites

bonjour webpulser,

 

merci pour votre reponse !!

 

Si je ne me trompe, cela veut dire creer un template par iso et cela fait beaucoup de templates à creer alors que je n'ai que deux cas de figure :

1- modele de facture pour la france

2 - modele de facture pour le reste du monde

 

est-ce que vous verriez un moyen de limiter le choix à deux templates ?

 

a l'avance merci,

Olivier

Share this post


Link to post
Share on other sites

Oui biensur, il suffit de créer un template invoice.tpl pour le monde et un template index.FR.tpl.

La fonction prend le template par défaut lorsqu'elle ne trouve un template spécifique.

Share this post


Link to post
Share on other sites

Bonjour à tous,

 

J'ose déterrer ce post car j'aimerai faire presque pareil.

 

J'aimerai avoir la possibilité de générer plusieurs footer selon le pays ou utiliser la variable $country pour faire un if mais je n'arrive pas à trouver le code correct.

 

J'ai essayé 

 

{if $country == '19' }
            <img src="http://kosha.ch/img/kosha-invoiceadresse.jpg" style="width:50px; height:73px;" />

{else}
    <img src="http://kosha.ch/img/kosha-invoiceiadresse.jpg" style="width:50px; height:73px;" />
{/if}

 

Mais cela ne fonctionne pas

 

Avez-vous une idée? Merci d'avance

Share this post


Link to post
Share on other sites

Bonjour à tous,

 

J'ose déterrer ce post car j'aimerai faire presque pareil.

 

J'aimerai avoir la possibilité de générer plusieurs footer selon le pays ou utiliser la variable $country pour faire un if mais je n'arrive pas à trouver le code correct.

 

J'ai essayé 

 

{if $country == '19' }

            <img src="http://kosha.ch/img/kosha-invoiceadresse.jpg" style="width:50px; height:73px;" />

{else}

    <img src="http://kosha.ch/img/kosha-invoiceiadresse.jpg" style="width:50px; height:73px;" />

{/if}

 

Mais cela ne fonctionne pas

 

Avez-vous une idée? Merci d'avance

 

 

Bonjour KoshaKevin,

je suis actuellement confronté au même problème que vous avez rencontré précédemment, pourriez-vous me dire si vous avez trouvé une solution ?

 

Merci d'avance !

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