Aide - Recherche - Membres - Calendrier
Version complète : Fdp dans le panier
Forum osCommerce-fr > Adapter OsCommerce MS2 > Modules de Paiement et de Livraison
Pages : 1, 2
brouillard
Bonjour,

Cette contribution permet aux invités, sans connexion, de voir les frais de port dans le panier selon la destination et le poids de leur commande, ils peuvent choisir le pays et le mode de transport.

Contrib Frais de port dans le panier

demo


Released under the GNU General Public License
brouillard
Je viens de faire un test avec 45 kg pour la Guadeloupe sur le site de (http://www.colissimo.fr/affranchissementenligne/submitShipment.do) et c'est refusé. Si un(e) autre peut confirmer !
brouillard
Je pense que 30 kg c'est l'unité, et le total du poids est divisé par cette unité pour proposer plusieurs colis.

Mais cette règle ne s'applique pas au colis pour la France. blink.gif
brouillard
il fallait rajouter "30:23.25" pour que les colis de 30 kg soient traités

$national_NORMAL = '0.5:5.5,1:6.7,2:7.65,3:8.6,5:10.5,7:12.4,10:15.25,15:17.25,30:23.25';

parce que on split sur ces tarifs pour obtenir les poids

$table = split("[:,]", $tarif);
brouillard
Les Fdp offerts sont paramétrés dans (Total commande/Expédition/Livraison gratuite pour commande au dessus...). Et non dans le module de transport.

1) Si on utilise que Colissimo, Exemple pour une commande de 99 euros et de 2kg soit environ 9 euros de fdp offerts (de moins de sur le bénéfice), on dira qu'on peut encore marger sur le 90 euros qui restent.

2) Si on utilise Colissimo & Chronoposte, pour une commande de 99 euros et de 2kg soit environ 28 euros de fdp (Chronoposte) offerts (de moins de sur le bénéfice), sur les 71 euros qui restent y'aura pas beaucoup de marge voir rien, là on a un sérieux problème.

Les frais de ports offerts doivent être paramétrés dans chaque modules de transport
brouillard
voila la contrib :




Frais de port dans le panier
concorde44
Merci pour ta contrib Brouillard.

Cependant j'ai un mesage d'erreur dans le shopping_cart :
Fatal error: Cannot redeclare class shipping in xxx\includes\classes\shipping.php on line 13

provoqué par le "require(DIR_WS_CLASSES . 'shipping.php');" de ton code.

As tu une idée pour contourner cela ?

Il me semble que j'avais déja essayé des contribs pour afficher les fdp dans le panier et que ce problème m'était déja apparu.

Merci ++

Seb
brouillard
tu mets ton fichier d'origine includes/boxes/shopping_cat.php
et dis moi si cela fonctionne
Citation (concorde44 @ 8 Feb 2011, 18:15) *
Cependant j'ai un mesage d'erreur dans le shopping_cart :
Fatal error: Cannot redeclare class shipping in xxx\includes\classes\shipping.php on line 13



l'erreur ne peut pas être sur la ligne 13 ?
pour la boxe shoppin_cart c'est la ligne 85 et pour le shopping_cart c'est la ligne 212
brouillard
concorde44
Sympa ton screenshot.

J'ai trouvé mon souci : j'ai déja intégré 1 contrib qui me calcule des frais de port et qui appelle déja la class Shipping...
Il va falloir que je planche sévère sur tout mon footer panier...

donc avec ta contrib j'ai un affichage, mais il me sort tous les pays alors que je n'ai sélectionné que quelques pays dans les envois possibles.
Avec une contribution qui dégage les pays inutilisés.
un bug de mon coté ?

Merci!
seb
brouillard
Tu regards le Select et tu l'adaptes à ta boutique.
concorde44
MErci je regarde tout ça.
Seb
brouillard
Citation (concorde44 @ 9 Feb 2011, 16:53) *
MErci je regarde tout ça.
Seb



j'ai fait un mise à jour, il paraît que le problème de l'affichage de pays est réglé !
AL1
Je confirme... Encore merci !

Maintenant je me penche sur les Fdp TTC et non HT...
concorde44
Merci Brouillard.
J'ai finalement rebossé toute ma page panier, et modifié la contrib que j'avais déja installé dessus (Ship in Cart, qui me provoquait un duplicate de class shipping) pour arriver au résultat souhaité : pays autorisés et fdp en TTC (j'avais aussi remarqué les prix en ht sur ta contrib.)

Seb
AL1
hello Seb, pour les FdP en TTC je suis preneur, je me prend le choux depuis ce matin... Merci smile.gif

Alain
concorde44
Désolé, mais je ne sais pas du tout où est la fonction du calcul de la tva.
Tu l'as dans la contrib ! A télécharger ici :http://www.oscommerce.com/community/contributions,1781/category,all/search,ship+cart

Car je n'ai rien bricolé dessus : installé et l'affichage est exact en TTC.

Bon courage.

Seb
brouillard
Citation (AL1 @ 5 Apr 2011, 10:33) *
Je confirme... Encore merci !

Maintenant je me penche sur les Fdp TTC et non HT...



remplace
Code
      $calcul_fdp = $quotes[$i]['methods'][$j]['cost'];

par
Code
      $calcul_fdp = $quotes[$i]['methods'][$j]['cost'];
          $tax_fdp = $quotes[$i]['tax'];


et

remplace
Code
$currencies->format($calcul_fdp)

par
Code
$currencies->display_price((float)$calcul_fdp, $tax_fdp, 1)
AL1
Super,

Je viens de faire les modifs. Bon j'ai un petit bug, les taxes des FdP ne sont pas calculées dans le total TTC...



J'ai essayé de modifier la ligne :
Code
$currencies->format(($cart->show_total()) + (float)$calcul_fdp);


en :
Code
$currencies->format(($cart->show_total()) + (float)$calcul_fdp, $tax_fdp, 1);


Mais ca me donne un total a "0" je pense que ma syntaxe ne soit pas très bonne.... angry.gif

brouillard
Citation (AL1 @ 5 Apr 2011, 19:22) *
Super,

Je viens de faire les modifs. Bon j'ai un petit bug, les taxes des FdP ne sont pas calculées dans le total TTC...
.......................................



Remplace
Code
$currencies->format(($cart->show_total()) + (float)$calcul_fdp)


par
Code
$currencies->format(($cart->show_total()) + tep_add_tax((float)$calcul_fdp, $tax_fdp))
AL1
SUPER!!!! ca marche du tonner....

Merci brouillard....

RESPECT!!!!

Alain
AL1
Hello tous le monde...

Après avoir installé cette super contrib de Brouillard, je n'arrive toujours pas à afficher les FdP dans la boxe du panier. Install, réinstall, plusieurs essais avec les styles et nada! Bien, j'ai donc installé un OSC tout neuf tout propre en local et remplacé directement les fichiers par ceux de la contrib ET ... RIEN! toujours pas d'affichage dans la boxe????



Pour ceux qui l'on installé, avez-vous ce bug?

Merci

Alain
brouillard
Pour les Fdp dans la box_panier, j'ai mis 2 conditions :

1) si tu es dans la page panier (c'est ton cas) les fdp ne s'affichent pas dans la box_panier.

2) si tu es connecté les fdp ne s'affichent pas dans la box_panier.

Edit : huh.gif je vais voir pourquoi cela ne fonctionne pas

Edit2 : smile.gif j'ai trouvé "l'erreur" j'y travail.
brouillard
Remplace

Code
    
$affiche_text_fdpb = '<span class=msgfdpgratuit>' . sprintf(TEXT_REST_FREE_SHIPPING, $currencies->format($fdp_gratuit2)) . ' ' .  $currencies->format(0) .'</span>';

if ($calcul_fdpb != '') {
      $affiche_fdpb = '<span class=infoBoxContentsPanier>' . 'Sous-Total : ' . $currencies->format($cart->show_total()) . '</span> <br><span class=infoBoxContentsPanier>' . '*Port : ' . $currencies->display_price((float)$calcul_fdpb, $tax_fdpb, 1) . '</span> <br> <span class=prixpanier>' . 'Total : ' . $currencies->format(($cart->show_total()) + tep_add_tax((float)$calcul_fdpb, $tax_fdpb)) . '</span>';}
     }
   }


Par

Code
      $affiche_text_fdpb = '<span class=msgfdpgratuit>' . sprintf(TEXT_REST_FREE_SHIPPING, $currencies->format($fdp_gratuit2)) . ' ' .  $currencies->format(0) .'</span>';
     }
   }

      if ($calcul_fdpb != '') {
      $affiche_fdpb = '<span class=infoBoxContentsPanier>' . 'Sous-Total : ' . $currencies->format($cart->show_total()) . '</span> <br><span class=infoBoxContentsPanier>' . '*Port : ' . $currencies->display_price((float)$calcul_fdpb, $tax_fdpb, 1) . '</span> <br> <span class=prixpanier>' . 'Total : ' . $currencies->format(($cart->show_total()) + tep_add_tax((float)$calcul_fdpb, $tax_fdpb)) . '</span>';
}
AL1
SUPER! merci Brouillard! Je croyais être devenu trop C...! biggrin.gif

Tous est au poil...

Bon code wink.gif

Alain
brouillard
Citation (AL1 @ 12 Apr 2011, 08:12) *
SUPER! merci Brouillard! Je croyais être devenu trop C...! biggrin.gif

Tous est au poil...

Bon code wink.gif

Alain



Merci Alain, c'est grâce à toi que j'ai découvert et corrigé les quelques bugs de plus que cette contrib va à merveille sur ta boutique, surtout le total en bleu, j'ai adoré wink.gif
did-eye
Bonjour à tous !
très sympa cette contribution, vais devoir essayer de l'installer chez moi sans tout planter !
Merci à vous
tom-ipp
Bonjour,
merci brouillard pour cette contrib.
Je me suis permis de la reprendre pour en simplifier l'installation et préparer la compatibilité vers osCommerce v2.3.
Maintenant le fichier install.txt fait 100 lignes au lieu de 450...
Concrètement, toutes les modifs sont dans un dossier catalog/contribs/fdp_dans_panier/ et l'installation se limite à rajouter des includes php dans le code de osCommerce.
En réalité, pour la partie css ce n'est pas aussi simple et pour le point 6 /catalog/includes/boxes/shopping_cart.php la structure de oscommerce a changé avec la version 2.3.
Comme exemple :
1) /catalog/includes/application_top.php
Commenter la ligne 330 :
// tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
Insérer :
include("../contribs/fdp_dans_panier/application_top.php");
et le fichier /contribs/fdp_dans_panier/application_top.php :
<?php
tep_redirect(tep_href_link($goto . '?countrieselected=' . $HTTP_POST_VARS['countrieselected'] . '&shippingselected=' . $HTTP_POST_VARS['shippingselected'], tep_get_all_get_params($parameters)));
?>
J'ai mis tout ça à l'adresse : http://gitorious.org/osc-fdpdp/osc-fdpdp/trees/master
Pour ceux qui ont des bases avec git, n'hésitez pas à modifier le code et à m'envoyer des demandes de merge.
A l'attention de brouillard, tu n'as pas mis de licence sur ton code, autorises-tu la publication en GPLv3?
Merci à tous les osCommerçants

Thomas
brouillard

Pour la licence c'est fait, je viens de la mettre en Released under the GNU General Public License
J'ai jeté un coup d'oeil à tes modifs qui sont supérs, merci d'avoir pris le temps pour améliorer cette contrib qui j'espère servira plus d'1.

En ce moment je bosse sur le passage de mes sites de PHP4 à PHP5+, donc je n'ai pas beaucoup de temps, pense aussi pendant que tu y es à modifier les $HTTP_POST ... et GET par $_POST ... et bon code !
maxime63
Bonjour Brouillard,

Super contrib j'ai installé la dernière version

mais j'ai quelques problèmes :

1 - quand je suis dans la page shopping_cart.php et que je sélectionne un DOM TOM ou un pays "EXPORT" , les frais d'envoi changent ça c'est ok, par contre le sous-total reste en TTC alors que ça devrait être en HT (le total est donc faux)

2 - le message du type "Ne reste plus que 7 euros pour les frais de port gratuit" ne s'affiche pas alors que le code n'est pas commenté

si tu pouvais m'éclairer.
Merci d'avance

brouillard
c'est à cause du prix-produit qui est resté en TTC pour les boutiques locales, si tu peux le bidouiller avec un switch ou un if pour qu'il passe en HT dans les cas concernés et faire le maj de la contrib et puis me mettre dans ta signature ce serait sympa !

pour le message "ne reste ... " je crois l'avoir désactivé en dehors de la France parce que sur ma boutique je n'offre les fdp que pour la France.
maxime63
Merci de ta réponse,

Je comprends ce qu'il faut faire mais je ne suis pas calé, c'est peut-être trop demandé mais aurais-tu la solution?

Je t'ai ajouté dans ma signature

en ce qui concerne les fdp, pour moi c'est le même principe, éxonération dès un montant atteint pour la France métropolitaine et le message " ne reste plus que ..." ne s'affiche pas

brouillard
Post ton code pour voir !
maxime63
brouillard
Je ne vois pas de problème dans le code, as-tu paramétré les fdp dans "Admin/Modules/total Commande/Frais d'expédition" :

Coùt d'Expédition

Affichage livraison
Oui

Ordre de tri
2

Permettre la livraison gratuite
Oui

Livraison gratuite pour commande au dessus
99,00€

Attacher livraison gratuite pour les destinations
national

ps : tu peux effacer le code que tu as posté avant que la grenouille te tombe dessus !
sykaflex
Citation (maxime63 @ 21 Sep 2011, 08:49) *
1 - quand je sélectionne un DOM TOM ou un pays "EXPORT" , les frais d'envoi changent ça c'est ok, par contre le sous-total reste en TTC alors que ça devrait être en HT (le total est donc faux)

bonjour maxime63
je te met en vrac le code pour le total en HT , je n'affiche pas le sous total mais avec ce code tu devrais pouvoir arranger ça, reste à customiser la présentation
Code
lorsqu'on calcule la commande elle s'affiche prix TTC meme si on met DOM ou suisse
il faudrait mettre une condition *0,80 ... pour les pays concernés (selectionner les id des pays concerné dans la condition)

dans .../modules/shipping_estimator.php

// détaxe de la TVA sur le total commande pour les pays en zone H.T. si le visiteur n'est pas logué; si il est logué le calcul se fait normalment avec le prix détaxé sans utiliser la 2eme condition ( if (empty($customer_id) and  ......)
    // si pays en H.T. : $txt_ht = total calculé avec la detaxe de la TVA

$txt_ht ='<tr><td>'  . CALCUL_HT . '</td></tr>';

if ($selected_country == '5' || $selected_country == '38' || $selected_country == '83' || $selected_country == '93' || $selected_country == '160' || $selected_country == '182' || $selected_country == '204')
{
echo $txt_ht;
}
    //  $selected_country donne l'id du pays selectionné - exemple liste des id des pays en H.T. : 5  38  83  93  160  182  204
    //  $selected_shipping['cost'])  donne le montant du port après calcul  et $order->info['total'] donne le montant total avec le port après calcul
if (empty($customer_id) and $selected_country == '5' || $selected_country == '38' || $selected_country == '83' || $selected_country == '93' || $selected_country == '160' || $selected_country == '182' || $selected_country == '204')
{
$order->info['total'] = ((($order->info['total'])-($selected_shipping['cost']))*0.83612)+($selected_shipping['cost']);  
}
// END  détaxe de la TVA sur le total commande pour les pays en zone H.T.



>>> arranger la présentation

bon code
maxime63
Bonjour et merci à Brouillard et Sykaflex

Pour répondre à Brouillard,
j'utilise "Admin/Modules/expédition" j'ai différencié les "frais d'envoi UE" "frais d'envoi DOM TOM et EXPORT" et "Coût de livraison TTC" (pour la France).

et effectivement je n'ai pas paramétré les fdp dans "Admin/Modules/total Commande/Frais d'expédition", si je le fais j'ai bien peur que ça plante tout le reste, non?

Pour répondre à Sykaflex,

qu'est-ce que ce
Citation
dans .../modules/shipping_estimator.php

dans la contrib on ne parle que de la page shopping_cart.

Petite précision, mon site est en ligne depuis qqs années maintenant et fonctionne très bien que ce soit pour le TTC ou le HT, c'est juste pour cette contrib et l'estimation du coût pour les pays concernés par le HT que ça ne va pas (ça reste un détail) . A par ça la contrib de Brouillard est très bien.
sykaflex
oups désolé, je me basais sur la contrib Ship In Cart v2.2.2a+prodinfo qui donne exactement le meme resultat que la contrib de Brouillard,
pas le temps de regarder cette contrib mais si tu inclues une condition avec les variables mentionnées tu dois arriver au un total HT si pays HT
maxime63
merci d'avoir donné une piste et d'avoir répondu, c'est ce qu'on demande en venant ici (c'est sûr que donner /trouver la solution c'est encore mieux!!!).

Je pensais bien adapter ton code au mien, le problème c'est que je suis encore novice, j'ai des connaissances mais pas suffisantes pour ajouter un "if" (où le placer, quelle syntaxe,...) c'est parfois compliqué. J'ai encore besoin qu'on me guide (tient y a t'il un guide pour les écritures php sur ce forum? ou en recommandez-vous un?)

Et mon site est en ligne alors c'est pas évident de faire des tests, mais je vais le faire et reviens vers vous.
maxime63
Citation (brouillard @ 21 Sep 2011, 11:18) *
pour le message "ne reste ... " je crois l'avoir désactivé en dehors de la France parce que sur ma boutique je n'offre les fdp que pour la France.


ça ne marche pas chez moi, quelqu'un a une idée?
maxime63
salut,



je viens de m'apercevoir d'un autre problème.

l'éxonération des frais de port est calculé à partir d'un montant HT or je travail en TTC.

dans mon cas, le transport devient gratuit dès 120€ TTC mais la contrib comprend 120€ HT soit 143,52€ TTC, le client ne comprend pas.

quel(s) changement(s) faut-il faire dans le code?
Je rappelle que j'utilise le module d'expédition

Coût de livraison TTC
Enable Table Method
True

Shipping Table
120:5.77

Table Method
price

Handling Fee
0

Tax Class
TVA à taux normal

Shipping Zone
France

Sort Order
2


maxime63
Citation (brouillard @ 26 Jan 2011, 13:20) *
Les Fdp offerts sont paramétrés dans (Total commande/Expédition/Livraison gratuite pour commande au dessus...). Et non dans le module de transport.


Pour ma part j'utilise les "Modules d'expédition" et la contrib différencie bien les frais de port selon les modules crées (1 pour la France, 1 pour l'UE, 1 pour l'export et les DOM TOM)
Par contre :
- pour la France, avec la contrib, l'éxonération des frais de port est calculé à partir d'un montant HT or je travail en TTC
- pour l'export et les DOM TOM quand je suis dans la page shopping_cart.php et que je sélectionne un DOM TOM ou un pays "EXPORT" , les frais d'envoi changent ça c'est ok, par contre le sous-total reste en TTC alors que ça devrait être en HT (le total est donc faux)

- autre bug : le message du type "Ne reste plus que 7 euros pour les frais de port gratuit" ne s'affiche pas alors que le code n'est pas commenté


Pouvez-vous m'aider? j'ai besoin de cette contrib (ship in cart ne fonctionne pas chez moi)
merci d'avance
crashtest
Salut,
merci pour cette contribution,
j'offre les frais de port à partir de 100€, mais voilà, le port s'affiche tout de même dans la box:

Sous-Total : 101.00€
*Port : 7.95€
Total : 108.95€
*Frais de port offerts !


Un coup de pouce pour rectifier ça ?
Merci...
aquaterciel
bonjour a tous ,

voila je souhaite mettre le module fdp dans le panier de mon site mais j'ai un probleme j'arrive pas trouver le dossier suivant

/catalog/includes/application_top.php

y a t il une solution merci
Bonbec
Bonjour,
Sans doute qu'il ne s'agit pas de la même version d'OsCommerce. Ce fil étant pour la version 2.2.
Merci de créer une signature (dans votre compte) indiquant votre version d'OsCommerce, cela permettra des réponses claires et précises happy.gif
croco
Bonjour,

J'ai installé cette contribution mais j'ai un problème.

Tout est bien en place sauf que quand je sélectionne un autre mode de livraison que celui mis par défaut la page est rafraichie et rien n'est pris en compte. Le mode de livraison revient sur celui par défaut et le prix ne change pas. Le pays lui reste bien en place par contre.

Quelqu'un sait d’où ça peut venir ?


Merci


croco
Bon j'ai eu beau réinstaller 3 fois la contribution, même fait l'installation avec un comparateur de fichiers mais ça marche pas j'ai toujours le même bug.

A savoir que sur mon site la TVA est désactivée.

Ou ça peut bloquer ?

Merci
croco
J'ai contacté brouillard par mp, en espérant qu'il passe car il me faut vraiment cette contribution et je pense que ça doit être un tout petit bug.
Bonbec
Bonjour croco,
Citation (croco @ 6 Apr 2012, 23:15) *
... Tout est bien en place sauf que quand je sélectionne un autre mode de livraison que celui mis par défaut la page est rafraichie et rien n'est pris en compte. Le mode de livraison revient sur celui par défaut et le prix ne change pas. Le pays lui reste bien en place par contre. ...

Regarde ce que tu récupères avec un print_r($_POST);
Cela permettra déjà de voir si il s'agit d'un problème de récupération de variables du formulaire.

Citation (croco @ 7 Apr 2012, 21:30) *
... Bon j'ai eu beau réinstaller 3 fois la contribution, même fait l'installation avec un comparateur de fichiers mais ça marche pas j'ai toujours le même bug.
A savoir que sur mon site la TVA est désactivée. ...

Là pas compris, tu es en exonération de TVA (art 293B du CGI) et tu récupères du TTC ou tu es assujettis à la TVA et çà te marque en HT ?

PS : ayant mon propre système basé en partie sur Ship In Cart, je n'ose pas installer la contrib de ce fil de peur de mélanger les 2 systèmes.
croco
Merci de ton aide encore une fois Bonbec smile.gif

Ou faut-il que je place le print_r($_POST); exactement ?

En fait je suis en micro-entreprise donc je n'ai pas activé la TVA, je ne la facture pas. Sur mon site il n'y a pas de HT ou TTC.

On dirait qu'il y a quelque chose de non compatible sur mon site avec cette contribution parce que je fais bien l'installation mais rien à faire.

De plus j'ai regardé tous les topics que j'ai vu à ce sujet mais rien trouvé de similaire, j'ai l'impression d'être le seul dans ce cas.

++
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2013 Invision Power Services, Inc.