Ann Posted May 7, 2009 Share Posted May 7, 2009 Bonjour à toutes et à tous Désolée si ce sujet a été déjà évoqué. Je me retrouve avec un petit souci concernant les bons de réduction et le moment ou ils interviennent dans une commande.1) Est il possible d'attribuer ces bons à une partie du stock et non à l'ensemble ? ( par exemple, seuls les produits non soldés bénéficient d'une remise )2) Est il possible de déplacer l'instant ou intervient cette remise ? ( exemple , avant les frais de transport et non pas après comme actuellement )J'utilise la version V1.1 Merci Ann Link to comment Share on other sites More sharing options...
Michel DONAT Posted May 7, 2009 Share Posted May 7, 2009 Bonjour, 2) Est il possible de déplacer l'instant ou intervient cette remise ? ( exemple , avant les frais de transport et non pas après comme actuellement ) Tiens c'est étrange car d'après mes différents test il me semblais que les bons de réductions se faisaient sur le total des produits et que les frais de ports se rajoutait ensuite !Bonne journée, Link to comment Share on other sites More sharing options...
Ann Posted May 7, 2009 Author Share Posted May 7, 2009 Et bien malheureusement cela ne marche pas.J'offre les frais de port à partir de 100 € d'achat et ça fait pas mal de commande où je perd du fric à cause de ça...Les clients en ont pour plus de 100 € mais avant la réduction et comme les frais de port ont déjà été calculés, j'en suis de ma poche.Je vous ai mis en pièce jointe une copie de ma dernière commande à problème... Link to comment Share on other sites More sharing options...
laurent75014 Posted May 25, 2009 Share Posted May 25, 2009 J'ai le meme problème.J'aurais aussi aimé savoir si il est possible de faire en sorte que les frais de port soient calculés apres application des bons de réductions.Merci d'avance. Link to comment Share on other sites More sharing options...
laurent75014 Posted June 4, 2009 Share Posted June 4, 2009 Quelqu'un a t'il pu tester avec le v1.2 si les frais de port sont calculés avant ou apres les bons de reduc ? Link to comment Share on other sites More sharing options...
laurent75014 Posted June 7, 2009 Share Posted June 7, 2009 J'ai testé la v1.2 alpha2.Malheureusement le calcul des frais de port est toujours effectué avant application des bons d'achats ou des codes reduc.Je trouve cela tres genant, mais peut etre est ce normal.Qui peut dire si c'est un bug qui sera corrigé, ou une vraie volonté et ca restera ainsi jusqu'a la fin des temps.Merci Link to comment Share on other sites More sharing options...
DrÿSs' Posted June 7, 2009 Share Posted June 7, 2009 Bonjour,C'est en effet le comportement voulu par le logiciel.Il n'est pas prévu de modifier celui-ci dans un avenir proche.Il n'est pas non plus possible d'attribuer des bons de réductions à une partie du stock. Link to comment Share on other sites More sharing options...
Ann Posted June 7, 2009 Author Share Posted June 7, 2009 Voici une réponse qui en dit long sur la connaissance du commerce de nos chers concepteurs !! Ceci signifie donc qu'il est considéré comme "normal " de pouvoir perdre de l'argent à cause d'un non sens de conception !!! Franchement, on croit rêver !!!Si un jour vous souhaitez être conseillé en commerce , demandez avant... J'ai 20 ans d'expérience en matière de commerce et même si je n'y connais rien en info, une gestion rigoureuse des risques devrait être la première tâche d'un concepteur digne de ce nom, au lieu de vouloir fournir un vrai Disneyland de gadgets approximatifs !!! Link to comment Share on other sites More sharing options...
Patric Posted June 7, 2009 Share Posted June 7, 2009 Qu'est-ce qui t'arrive Ann ? T'as passé un mauvais week-end ?Je te trouve bien sévère là... Link to comment Share on other sites More sharing options...
DrÿSs' Posted June 7, 2009 Share Posted June 7, 2009 Ce que je voulais dire, c'est qu'en effet, même si ce comportement peut paraitre stupide, c'est bien celui qui est voulu par le logiciel.Cela ne veut pas dire que c'est le meilleur, le plus adapté, ou le mieux pensé.Non, j'ai juste voulu dire que c'était bien ce qui avait été programmé par le logiciel à la base.Maintenant, il est clair qu'une réflexion devrait être engagée à ce sujet, afin d'offrir un choix au marchand pour savoir quand doivent être pris en compte les bons de réductions. Je vous suggère de faire une demande dans le feature request. Link to comment Share on other sites More sharing options...
laurent75014 Posted June 8, 2009 Share Posted June 8, 2009 Merci pour cette reponse claire.Malheureusement, ce n'est pas pour moi non plus le fonctionnement qui m'arrange.Mais si la majorité est pour, je m'incline.Pour le "feature request" in FrenchJe souhaiterais pour le futur qu'il soit possible de choisir a quel moment s'applique les bons de réductions, pour calculer les frais de port.Actuellement le calcul du panier se fait ainsi:"Total produits" hors "bon de réduction" détermine "les frais de port"EX: les frais de ports sont offerts a partir de 50euros1a- J'achete des produits pour 55 euros , les fdp =02a - J'achete des produits pour 45 euros, je paye les fdp*Si, le gentil commerçant m'offre un bon de reduction de 20%1b- J'achete des produits pour 55 euros - 20% de reduc = 44 euros. Je devrais payer les fdp, mais non, les fdp =0 puisque le prix avant reduc est >50euros Il serait donc intéressant que"Total produits" moins "bon de réduction" détermine "les frais de port" et non le "contraire"VoilaPour moi, c'est clair, j'espere que quelqu'un saura l'exprimer en anglais!!!Merci d'avance. Link to comment Share on other sites More sharing options...
Patric Posted June 8, 2009 Share Posted June 8, 2009 Est-ce que ça peut être reformulé comme ça ?"Baser l'application du franco de port sur le montant avant réduction et non pas après."ActuellementFrais de ports (10 €) offerts à partir de 50 eurosBon de réduction de 20 %.Montant total achats : 55 €Montant réduction : 11 €Total après réduction : 44 € => frais de ports non appliqués.Total : 44 €Comportement désiréFrais de ports offerts à partir de 50 eurosBon de réduction de 20 %.Montant total achats : 55 € => frais de ports seront appliqués (10 €)Montant réduction : 11 €Total après réduction : 44 €Frais de port : 10 €Total : 54 € Link to comment Share on other sites More sharing options...
laurent75014 Posted June 8, 2009 Share Posted June 8, 2009 Merci de ton aide,C'est exactement ca, mais je deplacerais le commentaire vert comme ci dessous. “Baser l’application du franco de port sur le montant avant réduction et non pas après.”ActuellementFrais de ports (10 €) offerts à partir de 50 eurosBon de réduction de 20 %.Montant total achats : 55 €Montant réduction : 11 €Total après réduction : 44 € => frais de ports non appliqués.Total : 44 €Comportement désiréFrais de ports offerts à partir de 50 eurosBon de réduction de 20 %.Montant total achats : 55 € Montant réduction : 11 €Total après réduction : 44 € => frais de ports seront appliqués (10 €)Frais de port : 10 €Total : 54 € En esperant que ca puisse convaincre les devellopeurs.Un grand merci Link to comment Share on other sites More sharing options...
Patric Posted June 9, 2009 Share Posted June 9, 2009 Merci de ton aide,C'est exactement ca, mais je deplacerais le commentaire vert comme ci dessous. Heu ben non, c'est justement le "55 €" qui doit déterminer que les frais de port seront ajoutés.Bon je traduis ça et le poste dans le FR. Link to comment Share on other sites More sharing options...
Patric Posted June 9, 2009 Share Posted June 9, 2009 Bon, j'ai traduit et posté ici en corrigeant mes petites inversions... :red: http://www.prestashop.com/bug_tracker/view/2104/Si quelqu'un veut se donner la peine de relire voir si je me suis pas planté. Link to comment Share on other sites More sharing options...
space Posted June 22, 2009 Share Posted June 22, 2009 J'ai réussi à résoudre le problème en modifiant la classe Cart.php comme ci-dessous:Ligne 621 vous avez le code suivant; // Checking discounts in cart $products = $this->getProducts(); $discounts = $this->getDiscounts(true); if ($discounts) foreach ($discounts AS $id_discount) { $discount = new Discount(intval($id_discount['id_discount'])); if (!Validate::isLoadedObject($discount)) die(Tools::displayError()); if ($discount->id_discount_type == 3) //Free Shipping foreach($products AS $product) { $oProduct = new Product($product['id_product']); $categories = Discount::getCategories($discount->id); if(count($categories)) { foreach($categories AS $category) if($oProduct->isOnCategoryId($category)) return 0; } } Il faut rajouter à la suite le code suivant: elseif ($discount->id_discount_type == 2) //Discount on order (amount) { // Order total without fees $orderTotal = $this->getOrderTotal(true, 7); $orderTotal = $orderTotal-$discount->value; } elseif ($discount->id_discount_type == 1) //Discount on order (%) { // Order total without fees $orderTotal = $this->getOrderTotal(true, 7); $orderTotal = floatval($orderTotal-($orderTotal*($discount->value)/100)); } } // Order total without fees if (!isset($orderTotal)) $orderTotal = $this->getOrderTotal(true, 7); Ce qui donne pour finir: // Checking discounts in cart $products = $this->getProducts(); $discounts = $this->getDiscounts(true); if ($discounts) foreach ($discounts AS $id_discount) { $discount = new Discount(intval($id_discount['id_discount'])); if (!Validate::isLoadedObject($discount)) die(Tools::displayError()); if ($discount->id_discount_type == 3) //Free Shipping foreach($products AS $product) { $oProduct = new Product($product['id_product']); $categories = Discount::getCategories($discount->id); if(count($categories)) { foreach($categories AS $category) if($oProduct->isOnCategoryId($category)) return 0; } } elseif ($discount->id_discount_type == 2) //Discount on order (amount) { // Order total without fees $orderTotal = $this->getOrderTotal(true, 7); $orderTotal = $orderTotal-$discount->value; } elseif ($discount->id_discount_type == 1) //Discount on order (%) { // Order total without fees $orderTotal = $this->getOrderTotal(true, 7); $orderTotal = floatval($orderTotal-($orderTotal*($discount->value)/100)); } } // Order total without fees if (!isset($orderTotal)) $orderTotal = $this->getOrderTotal(true, 7); Vous trouverez également ci-joint le fichier www/classes/Cart.php intégral pour la v1.1 ainsi que les captures d'écran montrant le fonctionnement (j'ai juste masqué les produits) pour des frais de ports offerts à partir de 50 euros d'achats.En espérant avoir été assez clair...Sam_NB: j'ai mis à jour le fichier Cart.php après résolution du bug décrit à la suite de ce post...Le fichier joint est donc à jour et sans bug connu à ce jour Cart.php Link to comment Share on other sites More sharing options...
Alekhine Posted June 22, 2009 Share Posted June 22, 2009 Cool, mais ça serait sympa d'utiliser la balise '['CODE']' (sans les ' ') pour copier ça, parce là ..... Ou mieux : un fichier texte attaché. Link to comment Share on other sites More sharing options...
laurent75014 Posted June 23, 2009 Share Posted June 23, 2009 Merci Sam pour cette proposition.Je suis tres intéressé par cette evolution, je me permet donc d'envoyer cette modif en txt attaché (de ce que j'ai cru comprendre), pour que d'autres puissent tester.Chez moi, ca ne fonctionne pas. En fait pas de changement par rapport a ce qu'il se passait avant. Fichier attaché supprimé, il comportait une erreur Link to comment Share on other sites More sharing options...
space Posted June 23, 2009 Share Posted June 23, 2009 J'ai modifié mon message en attachant mon fichier www/classes/Cart.php ainsi que des captures montrant le fonctionnement.Je précise que je travaille sur une v1.1Cordialement,Sam_ Link to comment Share on other sites More sharing options...
laurent75014 Posted June 23, 2009 Share Posted June 23, 2009 Merci beaucoup pour tes explications.J'ai un fonctionnement semblable au tien dans les deux cas que tu testes, c'est parfait.Mais j'ai un probleme avec le 3eme cas.Par exemple un panier a 60 euros, une reduc de 5 euros = 55 euros les Fdp ne sont plus gratuits... Link to comment Share on other sites More sharing options...
space Posted June 23, 2009 Share Posted June 23, 2009 Je vais regarder ça... Link to comment Share on other sites More sharing options...
space Posted June 23, 2009 Share Posted June 23, 2009 J'ai trouvé:ligne 652, il faut remplacer: $orderTotal = floatval($orderTotal*($discount->value)/100); par: $orderTotal = floatval($orderTotal-($orderTotal*($discount->value)/100)); Voici le nouveau fichier www/classes/Cart.phpMerci à laurent75014 pour les tests et la validation... Cart.php Link to comment Share on other sites More sharing options...
laurent75014 Posted June 23, 2009 Share Posted June 23, 2009 Parfait, merci beaucoupBravo pour ta persévérance.Faut il laisser cette demande d'évolution dans le bug_tracker, est il nécessaire que d'autres développeurs travaillent sur un problème résolu ? Ou peuvent ils simplement le reutiliser?Je laisse a Zendik, le soin de juger. Link to comment Share on other sites More sharing options...
Alekhine Posted June 23, 2009 Share Posted June 23, 2009 Hello,Merci pour cette modif, je vais tester.Par contre j'ai un mal fou à comprendre le problème initial alors qu'hier ça me paraissait clair ('tin c'est Alzheimer ça non ? :/)Est-ce que vous voulez dire que, après cette modif, un code remise est susceptible de faire redescendre "le montant pour le calcul du franco de port" à un seuil où le client devra finalement les payer ?Exemple:- Franco à 50 euros- Commande à 53 euros (donc franco)- bon de remise de 5 euros (soit 48, franco perdu )= Le client paye quand même les frais de port ? (auquel cas il a intérêt de jeter son bon de réduc...)Ca c'est l'exemple "négatif", pour l'autre je vois pas :/C'est mode boulet aujourd'hui ou faut que j'arrête le café ? Link to comment Share on other sites More sharing options...
laurent75014 Posted June 23, 2009 Share Posted June 23, 2009 L'objectif est que quelque soit les reduc (en euros ou en %), le client paye les Fdp si le total apres reduc est inferieur au franco. (dans la version actuel de PS ce n'est pas le cas).Il y a effectivement des cas limites comme celui que tu cites, ou il sera préférable pour le client de ne pas utiliser son bon de reduc, ou plutot de rajouter un article pour bénéficier de la reduc et des fdp gratuits. (Une petite incitation a consommer +) Link to comment Share on other sites More sharing options...
space Posted June 23, 2009 Share Posted June 23, 2009 Oui le but est bien de faire payer le port si le franco n'est pas atteint, bon de réductions déduits...Ce qui est le cas sur la grande majorité des sites de e-commerce, puisqu'il y a effectivement un intérêt commercial à ce qu'un client rajoute un produit à son panier pour bénéficier de son bon de réduction + de la gratuité des frais de port...Ca permet aussi de soigner la marge dégagée par le site... 'fin j'arrête: je vais pas vous faire un cours de marketing...Cdt,Sam_ Link to comment Share on other sites More sharing options...
Alekhine Posted June 23, 2009 Share Posted June 23, 2009 Merci pour vos réponses.Oui j'avais bien compris l'aspect commercial, ce que je voulais définir sans avoir besoin d'étudier le code c'est l'aspect technique et les incidences éventuelles.[HS]Concernant cet aspect marketing, il est vieillot. Mais chacun voit midi à sa porte et gère sa boutique comme il l'entend Personnellement les aspects marketing incitatifs, les pubs, et autres techniques me font fuir parce que je les détecte dans la plupart des cas (en tant qu'acheteur). J'essaie de ne pas trop transposer pour mes propres techniques de ventes mais j'ai quand même tendance à éviter de prendre les clients pour des buses, je sais qu'ils comprennent la manoeuvre, ça me dérange...Néanmoins, avec cette modif, on est loin de ce que font certains distributeurs aujourd'hui, comme par exemple proposer des lots de 3 pièces "à prix exceptionnel!" quand les 3 achetés séparémment sont moins coûteux, ça, ça fait plus que me "déranger". Link to comment Share on other sites More sharing options...
space Posted June 23, 2009 Share Posted June 23, 2009 Si j'ai bien compris, ça veut dire que la modif te conviens... (?) Concernant les incidences éventuelles, très honnêtement, je n'en vois pas puisqu'il s'agit d'une modif effectuée directement dans la fonction d'une classe qui est appelée au moment du récap du panier... La PrestaTeam pourra certainement valider le code, voir l'intégrer à une prochaine version, si toutefois il s'agit du fonctionnement qu'ils souhaitent avoir pour PrestaShop...J'ai d'ailleurs certaines idées d'évolutions en ce qui concerne les bons de réductions, avec des options de folie... si ça me chauffe trop, je me jette à l'eau ! Il serait d'ailleurs intéressant de pouvoir effectuer des sondages pour avoir l'avis de la communauté...Cdt,Sam_ Link to comment Share on other sites More sharing options...
Alekhine Posted June 23, 2009 Share Posted June 23, 2009 Oui techniquement il rempli sont rôle y-a pas de souci, mais avant qu'il me convienne il faut que je teste plusieurs situations pour comprendre la percéption du client, en particulier dans les cas où le "cadeau"(bon de réduction) va lui faire perdre le franco, je ne suis pas en mesure de dire aujourd'hui si c'est "juste" ou pas Link to comment Share on other sites More sharing options...
space Posted June 23, 2009 Share Posted June 23, 2009 Il est tout a fait possible de rajouter un morceau de code pour qu'il soit possible de choisir entre les 2 modes de fonctionnements (avant et après ma modif)... Link to comment Share on other sites More sharing options...
laurent75014 Posted June 23, 2009 Share Posted June 23, 2009 J’ai d’ailleurs certaines idées d‘évolutions en ce qui concerne les bons de réductions, avec des options de folie… si ça me chauffe trop, je me jette à l’eau ! Il serait d’ailleurs intéressant de pouvoir effectuer des sondages pour avoir l’avis de la communauté… Pas cap, jette toi a l'eau.. dis nous a quoi tu penses .Ok, on vote d'abord. Link to comment Share on other sites More sharing options...
space Posted June 23, 2009 Share Posted June 23, 2009 Je pense aux possibilités suivantes:- Ajout automatique des bons d'achats personnels dont le client dispose à son panier- Création de bon de réductions permanents gagnés par les clients s'ils ont dépensé X euros sur la boutique pendant un laps de temps... Link to comment Share on other sites More sharing options...
ShowYou Posted August 27, 2009 Share Posted August 27, 2009 Bonjour, Version PS 1.2.0.8 onlineSuite aux modification sur classes/cart.php qui n'est pas le même que la version 1.1, ça ne fonctionne pas. J'aurais besoin d'un oeil avisé... Où est l'erreur ? // Checking discounts in cart $products = $this->getProducts(); $discounts = $this->getDiscounts(true); if ($discounts) foreach ($discounts AS $id_discount) { $discount = new Discount(intval($id_discount['id_discount'])); if (!Validate::isLoadedObject($discount)) die(Tools::displayError()); if ($discount->id_discount_type == 3) { $total_cart = 0; $categories = Discount::getCategories($discount->id); foreach($products AS $product) { if(count($categories)) if (Product::idIsOnCategoryId($product['id_product'], $categories)) $total_cart += $product['total_wt']; } if ($total_cart >= $discount->minimal) return 0; } elseif ($discount->id_discount_type == 2) //Discount on order (amount) { // Order total without fees $orderTotal = $this->getOrderTotal(true, 7); $orderTotal = $orderTotal-$discount->value; } elseif ($discount->id_discount_type == 1) //Discount on order (%) { // Order total without fees $orderTotal = $this->getOrderTotal(true, 7); $orderTotal = floatval($orderTotal-($orderTotal*($discount->value)/100)); } } // Order total without fees $orderTotal = $this->getOrderTotal(true, 7); (Si je laisse cette ligne (répétition d'une ligne du dessus, j'ai une page d'erreur sur cette ligne !) Alors, une idée ??? Link to comment Share on other sites More sharing options...
amandloren Posted November 6, 2009 Share Posted November 6, 2009 Bonsoir,avez-vous trouvez une soluce à ce pb et utilisable sur la version Version 1.2.4.0 ?Merci Link to comment Share on other sites More sharing options...
marty69 Posted November 6, 2009 Share Posted November 6, 2009 Bonsoir,Hummm... je ne suis pas un pro du marketing ni des usages en bons de réduction, mais en tant qu'acheteur (et futur vendeur) il me semble qu'appliquer la réduction AVANT d'ajouter les frais de ports est plus logique, les frais de ports étant en toute logique appliqué en fonction du total d'achats et non du total facture, réduction ou pas. Les frais de ports sont une "taxe" à part.D'ailleurs si on applique les frais de port en fonction du poids, la réduction n'a aucun effet sur les frais de ports, le panier à toujours le même poids. (je ne sais pas si je me fait bien comprendre... )En tout cas j'imaginais ce "problème" résolu dans les versions > 1.2.0 Qu'en est-il ? Link to comment Share on other sites More sharing options...
krisp Posted November 19, 2009 Share Posted November 19, 2009 Bonjour,et merci pour cette modif.Appliquée à une version 1.2.5.0, cela fonctionne parfaitement !Pour faire suite au post de monvidedressing, ne pas oublier le test avant la dernière ligne : // Order total without fees if (!isset($orderTotal)) $orderTotal = $this->getOrderTotal(true, 7); Link to comment Share on other sites More sharing options...
France Posted July 25, 2010 Share Posted July 25, 2010 Bonjour,J'ai essayé le code en local pour avoir le calcul des frais de transport après les réductions et mon site ne s'affiche plus du tout.J'ai la version 1.2.5.Vous avez une solution?Merci de votre aide Link to comment Share on other sites More sharing options...
GAELLE Posted March 11, 2011 Share Posted March 11, 2011 Bonjour,J'ai ce même problème très embêtant qui me fait perdre pas mal d'argent, je suis en version 1.3.1.1 et j'ai essayé cet modif mais ca ne fonctionne pas.. Est ce que quelqu'un pourrait m aider svp? Merci d'avance.Gaelle Link to comment Share on other sites More sharing options...
Florent Posted October 17, 2011 Share Posted October 17, 2011 Bonsoir, Moi ça plante si j'utilise un Bon de réduction "Frais de port offerts". Une idée ? Merci Link to comment Share on other sites More sharing options...
Olive59 Posted February 7, 2014 Share Posted February 7, 2014 un up le sujet m'intéresse. vu qu'en ps1.5.4 il y a toujours meme le problème. merci d'avance. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now