Jump to content

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

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

Link to comment
Share on other sites

  • 2 years later...

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

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

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

Link to comment
Share on other sites

  • 2 years later...

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

Link to comment
Share on other sites

  • 7 months later...

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 !

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...