THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline


Bonjour à toutes et tous,

J'utilise avec bonheur Thelia pour le développement d'un site de vente de vin en ligne. L'expédition des bouteilles est réalisée par un transporteur privé, et le mode de calcul des frais de port est le suivant:

La France est divisée en zones, chaque zone comportant plusieurs départements. Pour chaque zone, le prix de transport est fonction du nombre de bouteilles. par exemple:

de 1 à 10 bouteilles: 10€ (forfaitaire)
de 11 à 25 bouteilles: 20€ (forfaitaire)
de 25 à 60 bouteilles: 9€ + 0,75€ par bouteille.

J'ai donc écrit un plugin transport qui permet de cacluler ces frais de transport (cf. image de la config dans le BO en fin de post).

Jusqu'ici, tout va bien, mais j'ai une petit souci philosophique:

Si la quantité commandée est en dehors des intervalles définis, les frais de port ne peuvent être calculés, et il faut que le client consulte le marchand pour obtenir un prix. La suite de la transaction est ensuite manuelle, le paiement s'effectuant par chèque dans tous les cas.

Je voudrais donc afficher "Nous consulter" en lieu est place des frais de port dans le panier et le détail des commandes.

Dans ma petite tête, l'idéal serait que la méthode calcule() des plugins de transport retourne un object contenant le tarif et un commentaire, mais il me semble que cela implique de modifier de code de Thelia, ce qui est une mauvaise idée. Ou alors créer une boucle spéciale ?

Bref, je ne sais pas trop. Quelqu'un aurait-il une idée sur la façon la plus élégante d'implémenter cette fonctionnalité ?

Merci de votre attention ;-)

EDIT - Version 1.4: le code de ce plugin est disponible ici.

Si vous avez une version précédente installée, désactivez là, installez la nouvelle version, puis activez la nouvelle version.

bo-fzq.png

Last edited by roadster31 (13-04-2011 21:26:38)


OpenStudio Toulouse

Offline


Bonjour et bienvenue sur le forum,

Un truc simple à faire, quand ta quantité est trop importante, tu retournes via calcule par exemple -1.

et avec un filtre egalsinon à-1 tu affiches "Nous consulter" ou le coût.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Ben voilà !

Merci beaucoup pour cette solution simple et élégante.

Par contre, il faudrait peut-être retourner 0 au lieu de -1, pour ne pas influer sur le calcul du total que Thélia effectue ?

Last edited by roadster31 (19-09-2009 12:27:17)


OpenStudio Toulouse

Offline


Tout à fait.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Peut-être que quelqu'un est intéressé par ce type de plugin transport ?

Le code est disponible, gratuitement, évidemment.

Last edited by roadster31 (19-09-2009 13:32:56)


OpenStudio Toulouse

Offline


J'avoues être intéressé par la partie admin que je n'avais pas pris le temps de développer, je t'envoies un mail.

Merci, Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Bonjour roadster31, personnellement ton plugins m'interesse et je profiterais pour le modifier car je passe par transporteur privé et je gere le poids plus que la quantité.
A l'heure actuelle j'ai fais un plugins de transport non graphique qui gere le poids et le code postal mais il ne me plait plus et là aujourd'hui je vois ce que tu as fait et cela m'interesse de voir comment tu as fait smile

ET tu devrais demander à le poster dans les contribs smile

A bientôt

Offline


thibs wrote:

ET tu devrais demander à le poster dans les contribs smile

Ce serait avec plaisir, si il y a une procédure quelque part...


OpenStudio Toulouse

Offline


Le code du plugin est à télécharger ici.

Décompresser le fichier à la racine de votre Thelia pour installer le plugin, et le module jQuery qu'il utilise (jquery.selectboxes.pack.js).

Ne pas oublier de l'activer dans le Back Office.

Last edited by roadster31 (02-11-2009 14:48:30)


OpenStudio Toulouse

Offline


Aujourd'hui, correction de quelques bugs d'aspect dans la partie admin du plugin.


OpenStudio Toulouse

Offline


merci beaucoup pour ton plugin roadster31 ;-) d'après ce que je vois, il a l'air de répondre à ma problématique de vente en ligne de vins également. je le test de suite


La Cave De Guy
Terre De Haut

Offline


Nouvelle version du plugin (1.1.0), avec les améliorations suivantes:

- Ajout des boucles d'affichage
- Ajout de la possibilité de gérer les départements depuis le BO.
- Déplacement de jquery.selectboxes.pack.js dans un répertoire du plugin.
- Ajout des fichiers d'exemple fraisdeport.* dans le répertoire 'templates'
- Ajout du descripteur plugin.xml

Cette version est téléchargeable ici.

Last edited by roadster31 (15-01-2010 11:24:17)


OpenStudio Toulouse

Offline


Si jamais cela peut interesser du monde, on peut modifier le plugins de Franck pour gerer le poids assez facilement. (désolé franck je n'ai pas eu le temps de vous repondre par retour d'email.)

Pour cela suffit de remplacer "nbart" pas "poids" dans l'une des dernieres lignes du fichier *.class.php

Cela marche pour moi.

Merci à vous franck pour ce plugins plus utile que jamais. (si vous passez dans les hautes alpes je vous offre volontiers un bon café et parlé de thelia).

Offline


Merci pour ce retour.

thibs wrote:

Pour cela suffit de remplacer "nbart" pas "poids" dans l'une des dernieres lignes du fichier *.class.php

Exactement.

Par contre, le plugin ne peut gérer que des nombres entiers, et ne peut pas prendre en compte, par exemple, un intervalle de 0 à 0,5 Kg.

Une future version permettra de gérer au choix poids et quantités, et prendra en compte les valeurs décimales pour les intervalles.


OpenStudio Toulouse

Offline


Ce plugin a été mis à jour, pour permettre de calculer les frais de port en utilisant au choix le poids du panier ou le nombre d'articles du panier.

Cette nouvelle version est disponible ici, et dans les contribs.

Les retours sur les éventuels problèmes rencontrés sont les bienvenus.

Last edited by roadster31 (15-01-2010 12:43:36)


OpenStudio Toulouse

Offline


Bonjour Franck,

Ton plug-in a l'air super cependant, est-il possible de le modifier pour l'international ?

J'ai un site a réalisé avec une zone France avec port offert au delà de 75€ d'achat. Et... C'est là que ça se complique une liste de pays avec un montant différent sans que se soit possible d'avoir reduc ou offert...

Penses tu que ton plug-in puisse gérer ce type de chose ?


Pack de site internet pour loueur de véhicules - Pack de site internet de restauration à domicile

Offline


Il faudrait que tu précises un peu ton besoin. Mais peut-être pourrais-tu essayer le plugin Filtrage des trasports, qui permet de filtrer les plugins transports en fonction de certaines conditions, dont le montant du panier.


OpenStudio Toulouse

Offline


Ouaouh ! Ça a l'air super, je testerais mais ça a l'air de correspondre smile

T'as réponse à tout niveau transport ! Bravo et merci encore pour ton investissement, tu fais des heureux !

Pour mon besoin précis voici les conditions pour le transport de mon thelia.

- Port France à 7€, offert au delà de 75€ de commande
- Port Europe, DOM-TOM 15€

Bref j'essaye ça dans la semaine et je te dis si c'est ok !


Pack de site internet pour loueur de véhicules - Pack de site internet de restauration à domicile

Offline


Petit feedback sur ton plugin.

Je viens de faire un plugin similaire qui gère tous les pays etc.
Par contre, moi je ressors -1,-2,-3,-4 au niveau des frais de ports pour savoir quelle erreur je dois afficher.

<THELIA_transport type="TRANSPORT" id="64">
<THELIA_form type="LIVRAISONPYRO" form="1" port="#PORT">
#PORT
<!-- formulaire -->
</THELIA_form>
<THELIA_alerte type="LIVRAISONPYRO" alerte="1" port="#PORT">
#ALERTE
</THELIA_alerte>
</THELIA_transport>

Après, je sais pas si ta différenciation de la corse en 2 (2A/2B) est judicieuse car les codes postaux pour la Corse commencent tous par 20 et non par 2A/2B.


Aide les autres, ils t'aideront en retour.

Offline


Merci beaucoup pour ton plug-in ! C'est nickel !

Donc pour résumer (pour ceux qui aurait la même problématique que moi).

J'ai utilisé:
- colissimo international (bien régler que les zones hors France)
- colissimo (bien régler que France)
- une copie de Colissimo (idem sur France) avec les frais de port à 0
- Le plug-in Filtrage des transports pour régler l'affichage d'un des deux colissimo selon le montant.

Voilà merci beaucoup roadster31 !


Pack de site internet pour loueur de véhicules - Pack de site internet de restauration à domicile

Offline


Bonjour,
J'ai un petit soucis avec le plugin «forfait zone quantité».
Voilà, j'ai installé le plugin et il est activé dans le BO.
J'ai créé deux zones avec des forfaits. Je fais le test de calcul sur la page du BO et ça roule.
Malheureusement sur le site, dans la page adresse.html la boucle #TRANSPORT n'affiche pas du tout ce moyen de transport. La boucle marche très bien avec collissimo mais pas avec forfait zone quantité.
Voici ma boucle #TRANSPORT de la page adresse.html avec et sans l'id du transport.

<THELIA_transport type="TRANSPORT" id="10">
<li class="validation"><a href="#URLCMD" class="validation-achat"> #TITRE / #PORT €</a></li>
</THELIA_transport>
<THELIA_transport type="TRANSPORT">
<li class="validation"><a href="#URLCMD" class="validation-achat"> #TITRE / #PORT €</a></li>
</THELIA_transport>

Est-ce que quelqu'un à une idée d'où pourrait venir ce problème ?
Un grand merci d'avance.

Offline


Une nouvelle version de ce plugin (en bêta) est disponible. Voyez le premier message de ce sujet.

Last edited by roadster31 (03-04-2011 21:55:42)


OpenStudio Toulouse

Offline


Bonsoir Roadster31,

Le lien vers la nouvelle version ne fonctionne pas (404), Peux tu me dire si tu as pu débuguer les problemes de navigateurs?
Merci

Patbonf

Offline


Le lien vers la nouvelle version ne fonctionne pas (404)

Merdum ! C'est corrigé, le lien fonctionne. Merci d'avoir signalé le souci.

Les problèmes de navigateur sont en principe réglés.


OpenStudio Toulouse

Offline


j'ai repris l'idée de #PORT egal à -1 lorsque l'on dépasse une certaine valeur.

Dans la page adresse.html , j'affiche un message invitant le visiteur à contacter le vendeur si #PORT = -1 et sinon, le bouton "VALIDER" pour passer à la page suivant, commande.php

Tout ça fonctionne très bien, mais le problème est que si un visiteur un peu vicieux entre directement l'url dans sa barre d'adresse, du genre www.monsite.fr/commande.php?action=transport&id=2 , il a quand meme la possibilité de commander, avec des frais de port de 0€ !

Comment pourrais-je tester la valeur de #PORT en php, dans la page commande.php ?