GAELLE Posted March 31, 2016 Share Posted March 31, 2016 Bonjour Après plusieurs tentatives pour modifier mes fichiers, je n'arrive toujours pas à faire ce que je souhaite. Avec les bons cumulables et non cumulables, je m'y perd...Je trouve que c'est trop compliqué.. Je souhaiterai que le client ne puisse mettre qu'un seul bon dans le panier (aucun rapport avec les bons cumulables ou pas car dans mon panier il y a des cadeaux offerts automatiquement) donc une modif afin que le client ne puisse mettre qu'un seul code, une seule quantité. Est ce que quelqu'un pourrait m'aider svp ? Je vous remercie :-)) Bonne journée!! Link to comment Share on other sites More sharing options...
GAELLE Posted April 3, 2016 Author Share Posted April 3, 2016 Bonjour, Je me permet de relancer ce post,il n'y a personne pour me donner un coup de main svp? Bon dimanche à tous!! Link to comment Share on other sites More sharing options...
erouvier29 Posted April 5, 2016 Share Posted April 5, 2016 Dans /controllers/front/ParentOrderController.php, à la fin de la méthode _assignSummaryInformations(), vous devriez avoir ceci (à partir de la ligne 350 si PS 1.6.1.4): $this->context->smarty->assign($summary); $this->context->smarty->assign(array( 'token_cart' => Tools::getToken(false), 'isLogged' => $this->isLogged, 'isVirtualCart' => $this->context->cart->isVirtualCart(), 'productNumber' => $this->context->cart->nbProducts(), 'voucherAllowed' => CartRule::isFeatureActive(), 'shippingCost' => $this->context->cart->getOrderTotal(true, Cart::ONLY_SHIPPING), 'shippingCostTaxExc' => $this->context->cart->getOrderTotal(false, Cart::ONLY_SHIPPING), 'customizedDatas' => $customizedDatas, 'CUSTOMIZE_FILE' => Product::CUSTOMIZE_FILE, 'CUSTOMIZE_TEXTFIELD' => Product::CUSTOMIZE_TEXTFIELD, 'lastProductAdded' => $this->context->cart->getLastProduct(), 'displayVouchers' => $available_cart_rules, 'show_option_allow_separate_package' => $show_option_allow_separate_package, 'smallSize' => Image::getSize(ImageType::getFormatedName('small')), 'advanced_payment_api' => $advanced_payment_api )); Remplacez par cela (attention, modifiez bien également l'assignation de voucherAllowed): $voucherAllowed = true; // Check if a rule has already be manually added foreach ($cart_cart_rules as $cart_cart_rule) { if ($cart_cart_rule['code']) { $voucherAllowed = false; break; } } $this->context->smarty->assign($summary); $this->context->smarty->assign(array( 'token_cart' => Tools::getToken(false), 'isLogged' => $this->isLogged, 'isVirtualCart' => $this->context->cart->isVirtualCart(), 'productNumber' => $this->context->cart->nbProducts(), // NEXT LINE CHANGED 'voucherAllowed' => CartRule::isFeatureActive() && $voucherAllowed, 'shippingCost' => $this->context->cart->getOrderTotal(true, Cart::ONLY_SHIPPING), 'shippingCostTaxExc' => $this->context->cart->getOrderTotal(false, Cart::ONLY_SHIPPING), 'customizedDatas' => $customizedDatas, 'CUSTOMIZE_FILE' => Product::CUSTOMIZE_FILE, 'CUSTOMIZE_TEXTFIELD' => Product::CUSTOMIZE_TEXTFIELD, 'lastProductAdded' => $this->context->cart->getLastProduct(), 'displayVouchers' => $available_cart_rules, 'show_option_allow_separate_package' => $show_option_allow_separate_package, 'smallSize' => Image::getSize(ImageType::getFormatedName('small')), 'advanced_payment_api' => $advanced_payment_api, )); Explication: si il y a déjà une règle promo avec code dans le panier, on n'affiche pas le bloc de saisie dans le résumé de la commande. J'espère que votre thème suivra. Link to comment Share on other sites More sharing options...
GAELLE Posted May 29, 2016 Author Share Posted May 29, 2016 (edited) Bonjour, Désolé pour ma réponse tardive et merci d'avoir prit de votre temps pour me répondre :-) C'est déjà un bon début, merci beaucoup! Mais j'aimerai que le bloc de saisie dans le résumé de commande reste dans tous les cas, sauf qu'au lieu de disparaître un message d'erreur apparaisse lors de l'ajout d'un nouveau code Si vous savez quel code insérer, ça serait super! Merci beaucoup et bonne soirée à vous!! Edited May 29, 2016 by GAELLE (see edit history) Link to comment Share on other sites More sharing options...
erouvier29 Posted June 2, 2016 Share Posted June 2, 2016 1. Annulez les modifs précédentes. 2. Même fichier (/controllers/front/ParentOrderController.php) à partir de le ligne 99: if (Tools::isSubmit('submitAddDiscount')) { if (!($code = trim(Tools::getValue('discount_name')))) $this->errors[] = Tools::displayError('You must enter a voucher code.'); elseif (!Validate::isCleanHtml($code)) $this->errors[] = Tools::displayError('The voucher code is invalid.'); else { if (($cartRule = new CartRule(CartRule::getIdByCode($code))) && Validate::isLoadedObject($cartRule)) { Remplacez par: if (Tools::isSubmit('submitAddDiscount')) { if (!($code = trim(Tools::getValue('discount_name')))) $this->errors[] = Tools::displayError('You must enter a voucher code.'); elseif (!Validate::isCleanHtml($code)) $this->errors[] = Tools::displayError('The voucher code is invalid.'); else { // Check if manual voucher already used $ok = true; $cart_cart_rules = $this->context->cart->getCartRules(); foreach ($cart_cart_rules as $cart_cart_rule) { if ($cart_cart_rule['code']) { $ok = false; break; } } if (!$ok) { $this->errors[] = Tools::displayError('Only one voucher per cart.'); } elseif (($cartRule = new CartRule(CartRule::getIdByCode($code))) && Validate::isLoadedObject($cartRule)) { Puis, un petit coup de traduction des messages d'erreur Link to comment Share on other sites More sharing options...
GAELLE Posted June 2, 2016 Author Share Posted June 2, 2016 Merci beaucoup c'est vraiment génial, ç'est nickel!!!!!!!!! Je ne sais comment vous remercier pour cette modif!!! Un grand merci à vous:-)) bonne journée!! Link to comment Share on other sites More sharing options...
TheCheck Posted February 15, 2017 Share Posted February 15, 2017 J'en profite KerAwen pour vous remercier car j'ai bénéficié de votre code pour résoudre ce probleme. 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