LionP Posted July 7, 2017 Share Posted July 7, 2017 (edited) Bonjour la communauté, Je propose à mes clients le paiement en 2, 3 ou 4 fois sans frais, par CB et par chèque. J'aimerais pouvoir "promouvoir" ce type de paiement sur mes fiches produit, en affichant par exemple sous le bouton "Ajouter au panier", une phrase type. Par exemple, pour un produit à 200€, afficher une phrase qui dirait : "A partir de 50€/mois en 4 fois sans frais". J'ai par ailleurs des seuils de déclenchement pour ces paiements en N fois : - 100€ pour le paiement en 2 fois - 150€ pour le paiement en 3 fois - 200€ pour le paiement en 4 fois Il faudrait donc que cette phrase prenne en compte ces seuils de déclenchement. Savez-vous s'il est possible de faire ça ? Par l'ajout de code ou bien d'un module s'il existe ? Vous en remerciant par avance pour votre aide. Edit : ajout en pièce jointe de l'emplacement où j'aimerai faire apparaître cette phrase (là où il y a le cadre rouge) Edited July 9, 2017 by LionP (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted July 7, 2017 Share Posted July 7, 2017 En gros il faut 3 lignes de code et faire un test sur $cart->getOrderTotal(Cart::PRODUCT_ONLY), mais j'ai quand même un doute. Si je n'ai encore que 50€ dans mon panier quelle phrase devrait s'afficher Link to comment Share on other sites More sharing options...
LionP Posted July 7, 2017 Author Share Posted July 7, 2017 Bonjour Doekia et merci de prendre la peine de m'aider déjà Alors en fait, je ne souhaite pas prendre en compte ça qui se trouve dans le panier (ou pas). Je souhaiterais que ça ne prenne en compte que le prix affiché du produit. Et qu'au final ça divise seulement le prix affiché en 4, 3 ou 2 suivant les seuils de déclenchement de mes paiements N fois. Exemple : Suivant mes seuils défini dans le premier post, si un produit est affiché à 250€, la phrase devrait afficher un prix divisé par 4. Si le produit est affiché à 199€, la phrase devrait afficher un prix diviser par 3 (vu que le seuils de déclenchement du paiement en 4 fois est de 200€, et donc pas atteint). Est-ce possible avec presta 1.6 d'après toi Doekia ? ^^ J'espère avoir été clair,si c'est pas le cas dis le moi ^^ Link to comment Share on other sites More sharing options...
doekia Posted July 7, 2017 Share Posted July 7, 2017 Encore plus simple donc un test sur $product->price 3 ligne de tpl et c'est plié Link to comment Share on other sites More sharing options...
LionP Posted July 7, 2017 Author Share Posted July 7, 2017 Hum, tu aurais un exemple s'il te plaît Doekia, car là je t'avoue que je suis perdu ^^ Link to comment Share on other sites More sharing options...
LionP Posted July 7, 2017 Author Share Posted July 7, 2017 Il doit falloir récupérer les seuils de paiement dans les modules de paiement du coup non ? Link to comment Share on other sites More sharing options...
doekia Posted July 7, 2017 Share Posted July 7, 2017 Tu ne m'a pas dit qu'il fallait prendre les seuils dans le module de paiement. Je pensais que c'était... en dur. Après changer 1x par an le code pour ajuster ça me parait plus simple/efficace que d'inventer un usine à gaz pour si peu Link to comment Share on other sites More sharing options...
LionP Posted July 8, 2017 Author Share Posted July 8, 2017 Après, les seuils de paiement pour les modules de chèque et CB sont les mêmes : - 100€ déclenche le paiement en 2 fois - 150€ déclenche le paiement en 3 fois - 200€ déclenche le paiement en 4 fois Donc, si c'est possible et plus simple, peut-être inclure ces seuils directement dans le code à créer pour l'affichage de la phrase ? Link to comment Share on other sites More sharing options...
doekia Posted July 8, 2017 Share Posted July 8, 2017 code synthétique, à ajuster {if $productPrice > 200} {assign var='echean' value=4} {elseif $productPrice > 150} {assign var='echean' value=3} {elseif $productPrice > 100} {assign var='echean' value=2} {/if} {if $productPrice > 100} {capture name='echeav'}{math equation='x / y' x=$productPrice y=$echean}{/capture} <p> Payez en {$echean}x soit {convertPrice price=$smarty.capture.echeav|floatval} par échéance. </p> {/if} 1 1 Link to comment Share on other sites More sharing options...
LionP Posted July 9, 2017 Author Share Posted July 9, 2017 Merci Doekia, ça fonctionne apparemment, je suis en train de tester ! Est-il possible d'inclure dans le code une condition qui interdirait l'affichage de la phrase pour des produits appartenant à une certaine catégorie ? Link to comment Share on other sites More sharing options...
doekia Posted July 9, 2017 Share Posted July 9, 2017 avec un {if ta condition} le code {/if} bien sûr. normalement c'est $product->id_category_default == <id-de-la-categorie> si j'ai compris ta demande Link to comment Share on other sites More sharing options...
LionP Posted July 9, 2017 Author Share Posted July 9, 2017 Alors j'ai mis ce code ci-dessous, mais du coup ça enlève l'affichage de la phrase sur tous les produits peu importe les catégories. J'ai dû mal faire quelque chose ^^ {if $product->id_category_default == 90-soldes} {if $productPrice > 200} {assign var='echean' value=4} {elseif $productPrice > 150} {assign var='echean' value=3} {elseif $productPrice > 100} {assign var='echean' value=2} {/if} {if $productPrice > 100} {capture name='echeav'}{math equation='x / y' x=$productPrice y=$echean}{/capture} <p>A partir de {convertPrice price=$smarty.capture.echeav|floatval} par mois en {$echean}x sans frais.</p> {/if} {/if} Comme tu le vois, j'aimerais que la phrase ne s'affiche pas sur les produits appartenant à la catégorie "90-soldes" Merci en tout cas de prendre le temps de m'aider ! Link to comment Share on other sites More sharing options...
doekia Posted July 9, 2017 Share Posted July 9, 2017 (edited) 90 pas 90-soldes Edit: ne s'affiche pas ? donc != 90 Edited July 9, 2017 by doekia (see edit history) Link to comment Share on other sites More sharing options...
LionP Posted July 9, 2017 Author Share Posted July 9, 2017 Je viens d'essayer en mettant juste 90, et idem, ça me retire la phrase sur l'ensemble des produits, pas juste sur la catégorie "90" ? ^^ Link to comment Share on other sites More sharing options...
doekia Posted July 9, 2017 Share Posted July 9, 2017 Relis! j'ai corrigé le post car ensuite tu m'as dit sauf 90, donc != 90 mais on est d'accord que c'est la catégorie par défaut du produit Link to comment Share on other sites More sharing options...
LionP Posted July 9, 2017 Author Share Posted July 9, 2017 Impeccable, ça fonctionne comme ça ! Non, ce n'est pas la catégorie par défaut du produit, il faut donc que je modifie la catégorie par défaut de chaque produit manuellement. On peut faire en sorte que du moment que le produit soit dans la catégorie "90" (même si c'est pas sa catégorie par défaut) ça n'affiche pas la phrase ? Merci encore pour ton aide précieuse Doekia ! Link to comment Share on other sites More sharing options...
doekia Posted July 9, 2017 Share Posted July 9, 2017 {if !in_array(90,$product->getCategories())} Link to comment Share on other sites More sharing options...
LionP Posted July 9, 2017 Author Share Posted July 9, 2017 Super ! Ca fonctionne parfaitement ! Merci beaucoup pour ton aide Doekia en tout cas ! Link to comment Share on other sites More sharing options...
KrK_974 Posted August 10, 2018 Share Posted August 10, 2018 Bonjour. Je suis actuellement intéressé par ce code. Est-il possible de faire en sorte que le montant final soit à jour lorsque l'on a des combinaisons dans la fiche produit ? Link to comment Share on other sites More sharing options...
doekia Posted August 10, 2018 Share Posted August 10, 2018 Il faudra écrire cela en javascript dans product.js au niveau du findCombination probablement Link to comment Share on other sites More sharing options...
KrK_974 Posted August 10, 2018 Share Posted August 10, 2018 Merci pour le retour rapide Mais n'ayant aucune connaissance en javascript, je pense ne pas m'aventurer plus loin. Link to comment Share on other sites More sharing options...
doekia Posted August 10, 2018 Share Posted August 10, 2018 Et comme là ça dépasse de 2 lignes de codes, à adapter en plus à ton thème désolé mais je ne peux pas être plus précis Link to comment Share on other sites More sharing options...
Alexcarre Posted February 22, 2019 Share Posted February 22, 2019 Bonjour Doekia, Merci beaucoup pour ton aide. Est-il possible d'avoir un petit update du code pour que cela fonctionne sur 1.7.4 stp ? {if $productPrice > 200} {assign var='echean' value=4} {elseif $productPrice > 150} {assign var='echean' value=3} {elseif $productPrice > 100} {assign var='echean' value=2} {/if} {if $productPrice > 100} {capture name='echeav'}{math equation='x / y' x=$productPrice y=$echean}{/capture} <p>A partir de {convertPrice price=$smarty.capture.echeav|floatval} par mois en {$echean}x sans frais.</p> {/if} Merci beaucoup beaucoup !! Link to comment Share on other sites More sharing options...
doekia Posted February 22, 2019 Share Posted February 22, 2019 Simplement remplacer $productPrice par l'équivalent 1.7, probablement $product.price Link to comment Share on other sites More sharing options...
Alexcarre Posted February 22, 2019 Share Posted February 22, 2019 (edited) Merci beaucoup, oui il s'agit bien de $product.price mais il me reste un soucis au niveau du code ci-dessous visiblement car cela ne m'affiche aucun prix : {convertPrice price=$smarty.capture.echeav|floatval} Merci merci !! Edited February 22, 2019 by Alexcarre (see edit history) Link to comment Share on other sites More sharing options...
Alexcarre Posted February 22, 2019 Share Posted February 22, 2019 J'ai finalement trouvé la solution, voici pour la 1.7 : {if $product.price > 200} {assign var='echean' value=4.0} {elseif $product.price > 150} {assign var='echean' value=3.0} {elseif $product.price > 100} {assign var='echean' value=2.0} {/if} {if $product.price > 100} {capture name='test'}{math equation="x / y" x=$product.price_amount y=$echean}{/capture} <p>Ou à partir de {$smarty.capture.test|string_format:"%.2f"|replace:'.':','} € par mois en {$echean}x sans frais.</p> {/if}{$product->convertPrice($product.price)} Merci encore ! Link to comment Share on other sites More sharing options...
wil Posted March 19, 2019 Share Posted March 19, 2019 On 2/22/2019 at 4:06 PM, Alexcarre said: J'ai finalement trouvé la solution, voici pour la 1.7 : {if $product.price > 200} {assign var='echean' value=4.0} {elseif $product.price > 150} {assign var='echean' value=3.0} {elseif $product.price > 100} {assign var='echean' value=2.0} {/if} {if $product.price > 100} {capture name='test'}{math equation="x / y" x=$product.price_amount y=$echean}{/capture} <p>Ou à partir de {$smarty.capture.test|string_format:"%.2f"|replace:'.':','} € par mois en {$echean}x sans frais.</p> {/if}{$product->convertPrice($product.price)} Merci encore ! Bonjour à tous, Dans quel fichier de Prestashop 1.7.5 faut-il ajouter le code ci-dessus ? Et quel est son chemin d'accès? D'avance merci Link to comment Share on other sites More sharing options...
Sir Pacman Posted March 28, 2020 Share Posted March 28, 2020 On 3/19/2019 at 4:07 PM, wil said: Bonjour à tous, Dans quel fichier de Prestashop 1.7.5 faut-il ajouter le code ci-dessus ? Et quel est son chemin d'accès? D'avance merci On 3/19/2019 at 4:07 PM, wil said: Bonjour à tous, Dans quel fichier de Prestashop 1.7.5 faut-il ajouter le code ci-dessus ? Et quel est son chemin d'accès? D'avance merci bonjour à tous, tu as réussi a trouvé le chemin et l'endroit ou placer le code ? car j suis preneur en cas. merci beaucoup d avance pour toute les réponses à venir :) 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