THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

J'ai fini de paramétrer ma boutique, le seul problème qu'il me reste c'est d'adapter les frais de livraison à la fois au poids et au pays de destination. Pour ça j'ai trouvé le plugin "Forfait par zone et quantité" qui s'approche le plus de ce que j'aimerais.

J'aimerais adapter ce plugin, qui est très utile, mais qui ne me sert à rien s'il adapte le prix de la livraison aux départements...
J'aimerais qu'il adapte ces frais selon le pays de destination.

J'ai donc modifié tous les "cpostal" par des "pays" dans Forfaitzonequantite.class.php.

En novice que je suis je pensais que ça suffirait...

Mais désormais, si j'indique que le pays de livraison est la France métropolitaine, ça m'indique le tarif par défaut que j'ai fixé.
Et j'ai beau configurer les tarifs par zone et par poids pour d'autres zones que la France métropolitaine, si j'indique un autre pays que la France métropolitaine dans l'adresse de livraison, plus rien ne s'affiche dans "Choisissez un mode de livraison :" après la validation du panier... Même pas le tarif par défaut.

Si quelqu'un avait une solution à mon problème...

J'ai déjà créé mes différentes zones (selon les tarifs postaux: France, UE, Afrique, reste du monde) dans Accueil - Configuration - Gestion des zones de livraison (et les mêmes dans la configuration du plugin)...

Un autre de mes soucis est de pouvoir proposer un suivi postal facultatif à mes clients (le coût du suivi varie selon le pays de destination)...

Bonne fin d'après-midi!

Last edited by Frugi (08-07-2013 16:58:28)

Offline


Quand tu règle le plugins avec le pays, tu inscris le nom du pays ou l'id du pays ?

Offline


Tu veux dire quand je règle le plugin dans "Modules"?
Je met le nom du pays

Offline


Mais le problème c'est que vu qu'il est fait pour les départements, ça demande 2 champs: code postal et libellé

Offline


Je met le nom du pays

Ca ne suffit pas. Il faut utiliser l'ID du pays, et modifier la méthode calcule() pour prendre en compte le pays de livraison, et non plus le code postal.


OpenStudio Toulouse

Offline


D'accord...
Voici la fonction calcule() dans le plugin (avec les "cpostal" remplacés par des "pays"):


function calcule()
    {
        $departement = strtoupper(substr($this->pays, 0, 2));

        $mode = $this->get_variable('fzq_mode_calcul');

        if ($mode == 'quantite')
        {
            return $this->trouver_tarif($this->nbart, $departement);
        }
        else if ($mode == 'poids')
        {
            return $this->trouver_tarif($this->poids, $departement);
        }
        else if ($mode == 'prix')
        {
            return $this->trouver_tarif($this->total, $departement);
        }
        else
        {
            die("Le mode de calcul du plugin Forfait Zone Quantité n'est pas défini. Indiquez le dans le Back Office.");
        }
    }

Je t'avoue que je ne sais vraiment pas comment la modifier :s

Offline


Et donc dans la config il faudrait que je mette l'ID du pays dans l'actuel champ "code postal", c'est ça?

Offline


Voilà.

Par ailleurs, l'ID pays est un entier, ça n'a pas de sens (et provoquera des problèmes) de faire $departement = strtoupper(substr($this->pays, 0, 2));

Utiliser $departement = $this->pays;


OpenStudio Toulouse

Offline


J'ai bien remplacé la chaine $departement = strtoupper(substr($this->pays, 0, 2)); par celle que tu m'as donné, et fais un essai en ajoutant à la zone "DomTom" que j'ai créé, le "département" ayant pour "code postal" 259 (id de la Guadeloupe dans "Accueil - Configuration - Gestion des pays") et pour "libellé": Guadeloupe.
J'ai créé un compte client ayant pour pays de livraison la Guadeloupe, mais le problème persiste: rien n'apparait en-dessous de "Choisissez un mode de livraison :"...

Offline


Il faut associer le plugin avec toutes les zones de livraison


OpenStudio Toulouse

Offline

Offline


Dans le back office, configuration -> gestion des types de transport -> editer, et ajouter toutes les zones de livraison.


OpenStudio Toulouse

Offline


Ok c'est fait, j'ai ajouté, entre autres, la zone DomTom qui comprend, entre autres, la Guadeloupe.
Lorsque je réessaie avec mon compte client basé en Guadeloupe, cette fois quelque chose s'affiche en dessous de "Choisissez un mode de livraison".
Mais c'est le tarif par défaut (tarif retourné si les frais de port ne peuvent être déterminés) et non la tarif correspondant au poids du panier et au pays de livraison.

En fait si je teste mes réglages du plugin grâce au test dans " Accueil - Modules - Forfait par zone et quantité V1.4.2 ", il faut que j'entre l'id du pays pour que le plugin réussisse à calculer le tarif de livraison correspondant au poids indiqué.
Avec le nom du pays ou de la zone, ça ne fonctionne pas.

Il faudrait donc que le plugin prenne en compte le nom du pays et non son id...

Offline


En fait si je met le nom du pays dans "code postal" à la place de l'id, le test fonctionne.
Mais avec le compte client, ça ne fonctionne toujours pas...

Offline


Il faudrait donc que le plugin prenne en compte le nom du pays et non son id...

Oui, mais il ne fonctionne pas comme ça. Il y aurait pas mal de modifs à faire pour arriver à ce résultat.


OpenStudio Toulouse

Offline


Mais alors pourquoi le test fonctionne?

Offline


Parce que tu rentres l'ID du pays.

En tant qu'auteur du plugin, je te confirme qu'il ne peut pas marcher en l'état avec les noms de pays.


OpenStudio Toulouse

Offline


Non justement, j'ai refait le test en entrant le nom du pays et le poids, et ça fonctionne!

Offline


Si tu le dit, alors youpi, problème réglé !


OpenStudio Toulouse

Offline


Non, puisque ça ne fonctionne que dans le test -_-

Offline


Ha, ben voilà. Je te le répète: ce plugin ne peut pas marcher en l'état avec les noms de pays: il faut le modifier. Je suis bien placé pour le savoir, c'est moi qui l'ai écrit !


OpenStudio Toulouse

Offline


Arf hmm
Je n'y connais rien moi...
Il n'y a pas de plugin tout fait pour arriver à ce résultat?

Ou quelqu'un qui saurait me dire quoi modifier?

Offline


Bonjour

J'ai le même problème aujourd'hui. J'ai besoin de gérer des tarifs d'expédition selon le pays - ou plus exactement la zone - et non par département.
Rien de neuf depuis l'ouverture de cette discussion ?


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline


Le plugin Colissimo (pour Thelia v2) trouvable ici: https://github.com/thelia-modules/Colissimo
prend en compte le pays et le poids pour la calcul des fdp !