En visitant ce site, vous acceptez l'utilisation de cookies afin de vous proposer les meilleurs services possibles.

    Bug? Contourner le montant minimun de commande pour un chèque boutique

    Plus d'informations
    il y a 10 ans 4 mois - il y a 10 ans 4 mois #1 par ghost83
    Bonjour,

    VM3.016 + j3.51
    Surprise :)
    Bon c'est la saison des chèques boutique...
    Un de mes clients pour une sombre raison a supprimé son CB avec minimum de commande, je lui réactive et teste...
    Jusqu'à là tout va bien sauf que si je commande au delà du minimum et applique le CB, la réduction s'applique, bon ça c'est normal
    Par contre ce qui l'est moins c'est que si je diminue le montant commandé jusqu'à passer sous le montant minimal (en supprimant des produits par exemple) ben... Ma réduction (%) est maintenue.
    Bien sur, j'ai testé avec un template "classique".
    Ce comportement est général sur d'autres clients...
    Merci si éventuellement une bonne âme a déjà attaquer ce problème.

    <édit> Ouf... en cas de montant fixe de réduction et en faisant la même opération, le montant à payer ne passe pas en négatif ;-) et reste fixe à... 0 </edit>

    https:ghost-pc-buster.com
    Dernière édition: il y a 10 ans 4 mois par ghost83.

    Connexion ou Créer un compte pour participer à la conversation.

    • doc_denis
    • Portrait de doc_denis
    • Hors Ligne
    • Membre senior
    • Membre senior
    • ...oui, la photo date :)
    Plus d'informations
    il y a 10 ans 4 mois #2 par doc_denis
    Pour faire des chèques boutique, j'utilise awocoupon pro c'est commercial (moins de 50€), et ça marche toujours très bien, pour moi c'est indispensable.

    Avantages (ils sont nombreux) :
    filtrage des catégories (inclure ou exclure), montant mini du panier, remise en € ou en %, filtrage des groupes de clients, date de début date de fin, exclure les produits en promotion, filtrage des pays, combien d'utilisation par client, combien d'utilisation au total (pour une remise du genre, les dix prochaines commandes), filtrage par client (pour donner un cadeau à un client), gratuité des frais de livraison sous conditions, acheter y pour obtenir X etc....
    par ici :
    awodev.com/products/joomla/awocoupon

    Connexion ou Créer un compte pour participer à la conversation.

    • studio42
    • Portrait de studio42
    • Hors Ligne
    • Modérateur
    • Modérateur
    • Dev Joomla & Virtuemart
    Plus d'informations
    il y a 10 ans 4 mois #3 par studio42

    doc_denis écrit: Pour faire des chèques boutique, j'utilise awocoupon pro c'est commercial (moins de 50€), et ça marche toujours très bien, pour moi c'est indispensable.

    +1 si vous avez des besoins complexes.

    www.st42.fr Truc et astuce Joomla et virtuemart
    shop.st42.fr téléchargement Joomla et extension pour virtuemart
    Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

    Connexion ou Créer un compte pour participer à la conversation.

    Plus d'informations
    il y a 10 ans 4 mois #4 par ghost83
    Bonjour,

    Oui merci, je connais awocoupon mais dans le cadre d'une utilisation "banale" c'est un peu surdimensionné....
    Puis l'anomalie originelle n'est pas pour autant réglée. Bon va falloir remettre les mains dans le cambouis ;-)

    https:ghost-pc-buster.com

    Connexion ou Créer un compte pour participer à la conversation.

    Plus d'informations
    il y a 10 ans 4 mois #5 par alatak
    Bonjour

    Par contre ce qui l'est moins c'est que si je diminue le montant commandé jusqu'à passer sous le montant minimal (en supprimant des produits par exemple) ben... Ma réduction (%) est maintenue.

    hum

    pourtant le code est la: fichier components/com_virtuemart/helpers/coupon.php
    if ($_billTotal < $couponData->coupon_value_valid) {
    			if (!class_exists('CurrencyDisplay'))
    			    require(VMPATH_ADMIN . DS . 'helpers' . DS . 'currencydisplay.php');
    			$currency = CurrencyDisplay::getInstance();
    
    			$coupon_value_valid = $currency->priceDisplay($couponData->coupon_value_valid);
    			return vmText::_('COM_VIRTUEMART_COUPON_CODE_TOOLOW') . " ".$coupon_value_valid;
    		}

    et il devrait être appelé a chaque fois que le montant du panier est modifié.

    Connexion ou Créer un compte pour participer à la conversation.

    Plus d'informations
    il y a 10 ans 4 mois #6 par ghost83
    Re,
    A priori (en mode débug) il n'est pas appelé... peut être un problème de session $sessionCart->couponCode ?

    https:ghost-pc-buster.com

    Connexion ou Créer un compte pour participer à la conversation.

    Plus d'informations
    il y a 10 ans 4 mois #7 par alatak
    Bonjour
    Non
    C'est a cause de cela (fichier components/com_virtuemart/controllers/cart.php)
    $coupon_code = trim(vRequest::getString('coupon_code', ''));
    		if(!empty($coupon_code)){
    			$msg = $cart->setCouponCode($coupon_code);
    			if($msg) vmInfo($msg);
    			$cart->setOutOfCheckout();
    		}
    Une fois le CB entré, $coupon_code est vide, meme si coupon est bien dans $cart



    Remplace le code ci dessus avec
    $coupon_code = trim(vRequest::getString('coupon_code', ''));
    		if(!empty($coupon_code)){
    			$coupon_code=$cart->couponCode;
    		}
    		if(!empty($coupon_code)){
    			$msg = $cart->setCouponCode($coupon_code);
    			if($msg) vmInfo($msg);
    			$cart->setOutOfCheckout();
    		}

    Connexion ou Créer un compte pour participer à la conversation.

    • studio42
    • Portrait de studio42
    • Hors Ligne
    • Modérateur
    • Modérateur
    • Dev Joomla & Virtuemart
    Plus d'informations
    il y a 10 ans 4 mois - il y a 10 ans 4 mois #8 par studio42

    alatak écrit: Bonjour
    Non
    C'est a cause de cela (fichier components/com_virtuemart/controllers/cart.php)

    $coupon_code = trim(vRequest::getString('coupon_code', ''));
    		if(!empty($coupon_code)){
    			$msg = $cart->setCouponCode($coupon_code);
    			if($msg) vmInfo($msg);
    			$cart->setOutOfCheckout();
    		}
    Une fois le CB entré, $coupon_code est vide, meme si coupon est bien dans $cart



    Remplace le code ci dessus avec
    $coupon_code = trim(vRequest::getString('coupon_code', ''));
    		if(!empty($coupon_code)){
    			$coupon_code=$cart->couponCode;
    		}
    		if(!empty($coupon_code)){
    			$msg = $cart->setCouponCode($coupon_code);
    			if($msg) vmInfo($msg);
    			$cart->setOutOfCheckout();
    		}

    c'est pas plutot :
    $coupon_code = trim(vRequest::getString('coupon_code', ''));
    		if(empty($coupon_code)){// si rien dans le post
    			$coupon_code=$cart->couponCode;
    		}
    		if(!empty($coupon_code)){
    			$msg = $cart->setCouponCode($coupon_code);
    			if($msg) vmInfo($msg);
    			$cart->setOutOfCheckout();
    		}

    www.st42.fr Truc et astuce Joomla et virtuemart
    shop.st42.fr téléchargement Joomla et extension pour virtuemart
    Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!
    Dernière édition: il y a 10 ans 4 mois par studio42.

    Connexion ou Créer un compte pour participer à la conversation.

    Plus d'informations
    il y a 10 ans 4 mois #9 par alatak
    je ne vois pas la difference entre ton code et le mien ;)

    Connexion ou Créer un compte pour participer à la conversation.

    • studio42
    • Portrait de studio42
    • Hors Ligne
    • Modérateur
    • Modérateur
    • Dev Joomla & Virtuemart
    Plus d'informations
    il y a 10 ans 4 mois - il y a 10 ans 4 mois #10 par studio42
    ton code : si $coupon_code n'est pas vide
    if(!empty($coupon_code)){
    mon code : si $coupon_code est vide
    if(empty($coupon_code)){
    Sinon je pense qu'il est pas possible, qu'il soit possible de modifier le code, car au depart $cart->couponCode est vide.

    Mais il faudrait faire, pour que ce soit correct.
    $coupon_code = trim(vRequest::getString('coupon_code', ''));
    		if(empty($coupon_code)){// coupon not in post
    			$coupon_code=$cart->couponCode;
    		}
    		if($coupon_code!=$cart->couponCode){// coupon changed
    			$msg = $cart->setCouponCode($coupon_code);
    			if($msg) vmInfo($msg);
    		 	$cart->setOutOfCheckout();
    		}
    Ou un truc similaire, je n'ai pas fait de teste.

    www.st42.fr Truc et astuce Joomla et virtuemart
    shop.st42.fr téléchargement Joomla et extension pour virtuemart
    Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!
    Dernière édition: il y a 10 ans 4 mois par studio42.

    Connexion ou Créer un compte pour participer à la conversation.