Had Posted April 12, 2011 Share Posted April 12, 2011 Bonjour,Actuellement en train de developper un site prestashop (version 1.3.7), une des contraintes de mon cahier des charges est de limiter la quantité d'achat pour un client donné, non pas dans le panier mais par produit.Ex: 1 produit à un stock = 100, je veux que le client ne puisse commander que 10 exemplaires maximum.A moins que personne ne puisse m'indiquer la marche suivre généreusement, je fais donc appel à la communauté de développeurs pour la création d'un module; Dans ce cas quel serait le délais de réalisation ainsi que le prix ?En passant, il me semble que prestashop permet à n'importe qui de s'inscrire sous différentes adresses mail; Existe t il un moyen de "tracker" un client de façon ce que celui ci ne puisse s'inscrire qu'une seule et unique fois ?Encore merci d'avance ps: J'ai par ailleurs parcouru tout le forum, sans réelle réponse précise, c'est pourquoi je me décide à poster. Link to comment Share on other sites More sharing options...
manofthewood Posted April 15, 2011 Share Posted April 15, 2011 Bonjour+1 pour avoir la possibilité de limiter la quantité d'achat d'un produit Link to comment Share on other sites More sharing options...
Had Posted April 17, 2011 Author Share Posted April 17, 2011 Petit up pour faire remonter le post Link to comment Share on other sites More sharing options...
Had Posted April 20, 2011 Author Share Posted April 20, 2011 Bon alors apres reflexions et recherches :Existe t il une fonction permettant de repérer la quantité de produit achetés par un client (pour un produit donné), et de spécifier en utilisant la condition {if} que si le client à commander x quantité de produit, que les boutons "ajouter au panier" et "commander" disparaissent ?est ce possible ? une indication please ? je suis prêt à mettre les mains dans le camboui Link to comment Share on other sites More sharing options...
hafede Posted April 29, 2011 Share Posted April 29, 2011 Oui ce serait bien que quelqu'un apporte une piste intéressante à ce sujet. Je suis aussi à la recherche d'une solution limitant le panier à un produit. Link to comment Share on other sites More sharing options...
Bernard29 Posted April 30, 2011 Share Posted April 30, 2011 Bonjour, le problème est que limiter l'achat d'un produit équivaut à un refus de vente !!! Sauf vente à professionnel ! Link to comment Share on other sites More sharing options...
onon59 Posted May 3, 2011 Share Posted May 3, 2011 en attendant il faudrait mettre en stock que le nombre limite souhaité !! ça éviterais ainsi d'en commander plus que voulu !! ceci étant une astuce permettant d'attendre une solution Link to comment Share on other sites More sharing options...
Marc Posted May 3, 2011 Share Posted May 3, 2011 Bonjour Quel est l'utilité de limité le nombre de produit à l'achat , je veux bien qu'on m'achète tous mes produits %-P Link to comment Share on other sites More sharing options...
hafede Posted May 6, 2011 Share Posted May 6, 2011 Pour des raisons top secrètes et obscures ! Cela peut paraitre bizarre mais oui, un par personne, pas plus! Ce que l'on demande c'est si quelqu'un a une idée pour limiter le panier à un produit (ou 10 pour Had). Donc rien à voir avec un refus de vente, c'est un produit par commande, je peux pas vous en dire plus sur les raisons ! Link to comment Share on other sites More sharing options...
onon59 Posted May 6, 2011 Share Posted May 6, 2011 Pour des raisons top secrètes et obscures ! Cela peut paraitre bizarre mais oui, un par personne, pas plus! Ce que l'on demande c'est si quelqu'un a une idée pour limiter le panier à un produit (ou 10 pour Had). Donc rien à voir avec un refus de vente, c'est un produit par commande, je peux pas vous en dire plus sur les raisons ! je veux bien comprendre que pour des produits spéciaux on limite les quantités d'achats mais pour des cadeaux je ne comprend pas pourquoi on ne peut pas t'acheter plusieurs même cadeaux !! le comité d'entreprise de ma femme a fait un loto et il y avait par exemple 3 même lot de cafetières!! si on aurait commandé chez toi on n'aurait pas pu , tu aurais perdu des clients !!comprend bien que je n'ai rien contre toi ni ne cherche à t'agresser , je cherche juste à comprendre maintenant libre à toi de ne vendre qu'un seul et même produit et te souhaite de réussir très longtemps il me semble avoir vu un sujet en anglais qui expliquer cela je vais essayer de le retrouver !!, bien que j'ai déjà regardé mais plus moyen de savoir ou !si je le trouve je te donnerai le lien Link to comment Share on other sites More sharing options...
hafede Posted May 6, 2011 Share Posted May 6, 2011 C'est super cool merci, ce n'est pas pour de la vente de cadeaux que je souhaite limiter le panier mais pour autre chose. J'ai bien compris ta démarche, je faisais de l'ironie ! Je ne l'ai pas pris pour une agression ! Par contre si le CE de ta femme souhaite offrir des super cadeaux rendez vous dans quelques mois, elle ne sera pas déçue ! Mais rien à voir avec le sujet... Si tu retrouves l'astuce n'hésites pas, merci beaucoup. Link to comment Share on other sites More sharing options...
hafede Posted May 7, 2011 Share Posted May 7, 2011 Si d'autres personnes ont des solutions type code à insérer je suis preneur Link to comment Share on other sites More sharing options...
hafede Posted May 11, 2011 Share Posted May 11, 2011 Il n'y a pas un endroit où on pourrait insérer une limite de panier? Link to comment Share on other sites More sharing options...
Lupus01 Posted May 31, 2011 Share Posted May 31, 2011 Bonjour,Je suis aussi à la recherche de fonctions pouvant permettre le refus de commande si le max autorisé est atteint.Il faut ajouter une fonction dans le module "block-cart", dans le fichier ajax-cart.jsici l.8 (correspond aux "ajouter au panier" de tout le site...): $('.ajax_add_to_cart_button').unbind('click').click(function(){ var idProduct = $(this).attr('rel').replace('ajax_id_product_', ''); ajaxCart.add(idProduct, null, false, this); return false; }); ou ici (correspond aux "ajouter au panier" du fichier product.tpl...): $('body#product p#add_to_cart input').unbind('click').click(function(){ ajaxCart.add( $('#product_page_product_id').val(), $('#idCombination').val(), true, null, $('#quantity_wanted').val(), null); return false; }); Il suffirait de rajouter une fonction de type "Si Quantité de product == x alors j'ajoute ou non..."Mon souçi est que je ne sais pas comment rechercher tous les produits existants dans le panier pour l'instant... Si quelqu'un saurait faire, ca avancerait tout le monde sur ce post =)Merci d'avance ! Link to comment Share on other sites More sharing options...
hafede Posted May 31, 2011 Share Posted May 31, 2011 Ca serait cool que quelqu'un nous aide avec un bout de code Link to comment Share on other sites More sharing options...
Maury Girard Posted May 31, 2011 Share Posted May 31, 2011 Bonjour HafedeJ'aimerais savoir Si vous voulez un seul produit par commande ,donc un seul produit par utilisateur ou pas ?Il y a t'il aussi a prendre en compte "une date de validité"Exemple:Si Mr Y acheté 1 Produit Z = blocage commande sur X mois pour ensuite 1 nouvel achat possible (Question peu être idiote , mais m en fiche je la pose )Sinon au final va falloir faire une demande dans la partie Appels d’offres et prestations Link to comment Share on other sites More sharing options...
hafede Posted June 26, 2011 Share Posted June 26, 2011 Bonjour Maury Girard,C'est bien un produit par commande, pas de limitation dans le temps. Link to comment Share on other sites More sharing options...
fitao Posted June 28, 2011 Share Posted June 28, 2011 bonjour.y a t il une limite par produit ou alors la limite est la même pr tous les produits du panier.cdlt Link to comment Share on other sites More sharing options...
Feel.lucky Posted October 24, 2011 Share Posted October 24, 2011 Up Up Up ! Hello, Je suis dans le même cas. En gros si stock = 100 pour un produit, il faudrait que le client ne puisse pas acheter 2 fois le même produit. (il y aurait donc 100 client différent sur ce produit jusqu'à rupture de stock) Il faudrait alors qu'il y est un lien entre le compte (nom, adresse mail...) pour vérifier s'il a déjà acheter le produit, auquel cas = message du genre "Vous avez déjà acheté ce produit". Je souhaite mettre ce système en place pour la vente de ticket tombola. Et il faudrait que les clients ne dispose pas plus d'un ticket pour l'égalité des chances de gains ! Un génie parmi nous ? Merci d'avance Link to comment Share on other sites More sharing options...
Tacos Posted November 21, 2011 Share Posted November 21, 2011 Bonjour tout le monde. j'ai le même souci. J’utilise prestashop 1.4.5 et j'aimerai bloquer le maximum d'achat. Les produits qui vont être vendu doivent être vendu un par un, la loi me l'oblige. Merci Link to comment Share on other sites More sharing options...
Florent Posted January 22, 2012 Share Posted January 22, 2012 Bonjour, Quelqu'un a-t-il trouvé une solution ? Merci Link to comment Share on other sites More sharing options...
emb2012 Posted March 8, 2012 Share Posted March 8, 2012 moi aussi suis intéressé par cette fonctionnalité. Il y a un bien un module payant... mais j'aurais préféré trouver le moyen de le faire moi-même... Link to comment Share on other sites More sharing options...
Franck Dux Posted June 1, 2012 Share Posted June 1, 2012 qquns as réussi à trouver la solution depuis le temps ? Link to comment Share on other sites More sharing options...
Franck Dux Posted June 4, 2012 Share Posted June 4, 2012 up Link to comment Share on other sites More sharing options...
zellige Posted June 13, 2012 Share Posted June 13, 2012 (edited) Bonjour, Je suis intéressée par cette option. Je vends des coupons de tissus par multiple de 25cm et le maximum d'un seul tenant est 1 mètre (soit quantité 4) Souvent les clients se trompent et marque 5 ou 6 quantités. Je suis donc obligée de leur dire qu'il vont recevoir 2 coupons ( un de 1metre et un autre de 25cm pour quantité 5) souvent c'est une erreur du client qui souhaite qu'un seul coupon. Merci si quelqu'un a une idée. Edited June 13, 2012 by zellige (see edit history) Link to comment Share on other sites More sharing options...
MaxD Posted June 20, 2012 Share Posted June 20, 2012 (edited) Bonjour à tous, Ce module devrait peut être faire votre bonheur. http://www.modules-t...e-maximale.html Edited June 20, 2012 by speedway (see edit history) Link to comment Share on other sites More sharing options...
Dev On Web Posted June 21, 2012 Share Posted June 21, 2012 Bonjour, Si tout se passe comme prévu, je sortirai bientôt un module semblable, plus simpliste, permettant de limiter les lignes de produits au panier ainsi que la quantité individuelle des produits. Il sera payant mais beaucoup moins cher que celui-ci (prix minimum sur Addons). A suivre EDIT : je viens de finir le module, il ne reste donc plus qu'à écrire la doc + proposer sur Addons. Comptez quelques jours avant la validation et la disponibilité. Compatible 1.4. Link to comment Share on other sites More sharing options...
Arkhee Posted July 12, 2012 Share Posted July 12, 2012 Bonjour, Je serais intéressé par ce module, cela me permettrait d'offrir des échantillons à un client lorsqu'il passe une commande mais sans que le client ne puisse abuser du système (en augmentant le nombre d'échantillons gratuits, qui seraient limités à 1) Où en est la doc ? Est-ce qu'il est dans les addons ? Merci d'avance Link to comment Share on other sites More sharing options...
mcve Posted January 4, 2013 Share Posted January 4, 2013 bonjour, module acheté mais ne fonctionne pas ! BO :quelque soit la valeur entrée dans les champs de config du module FO -> plus aucun produit ne peut être placé dans le panier pour version 1.5.2.0 -> modifier les chemins dans pscartlimitation.php -> boutique\override\controllers\front une idée de correction ? mes produits se vendent quantité max par 1 !!!!! merci Link to comment Share on other sites More sharing options...
mcve Posted January 4, 2013 Share Posted January 4, 2013 bonjour, à défaut d'un module fonctionnel, bricolage : pour faire disparaitre le choix de la quantité au moment de l'affichage du produit et donc forcer la quantité à "1", dans le répertoire themes\default [ou nom du theme]\ éditer le fichier product.tpl y rechercher le commentaire <!-- quantity wanted --> juste en dessous du commentaire passer <label>...</label> en commentaire et en dessous modifier le <input type de "text" a "hidden" basique en attendant patch du module acheté Link to comment Share on other sites More sharing options...
hseb Posted May 17, 2013 Share Posted May 17, 2013 Bonjour, Je cherchais également une option de ce genre. J'ai repris la solution de mcve et l'ai un tout petit peu développé pouvoir cibler un produit en particulier, tout en conservant la champs text, avec une quantité de 1 non-modifiable. Ainsi, toujours le fichier product.tpl, ligne 355, j'ai entouré l'input text comme suit : {if ($product->id) == votre_id_produit } <!--ajout 1--> <input type="text" name="qty" id="quantity_wanted" class="text" value="1" size="2" maxlength="1" readonly="true"/> <!--ajout 2--> {else} <!--ajout 3--> <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> {/if} <!--ajout 4--> Link to comment Share on other sites More sharing options...
Aduler.com Posted July 9, 2013 Share Posted July 9, 2013 (edited) Pour bloquer l'achat d'un seul produit par panier/commande il est préconisé d'utiliser la technique dite de "L'override". Avant toutes manipulations, sauvegardé votre fichier original : /override/controllers/front/CartController.php Si les manipulations si dessous ne fonctionnent pas ou si vous voulez revenir à un état normal, remplacé votre fichier modifier par l'original CartController.php dans /override/controllers/front/ - Pour Prestashop 1.4 essayer ça : mettre tout ça dans /override/controllers/front/CartController.php <?php class CartController extends CartControllerCore { public function preProcess() { $orderTotal = self::$cart->getOrderTotal(true, Cart::ONLY_PRODUCTS); $this->cartDiscounts = self::$cart->getDiscounts(); foreach ($this->cartDiscounts AS $k => $this->cartDiscount) if ($error = self::$cart->checkDiscountValidity(new Discount((int)($this->cartDiscount['id_discount'])), $this->cartDiscounts, $orderTotal, self::$cart->getProducts())) self::$cart->deleteDiscount((int)($this->cartDiscount['id_discount'])); $add = Tools::getIsset('add') ? 1 : 0; $delete = Tools::getIsset('delete') ? 1 : 0; if (Configuration::get('PS_TOKEN_ENABLE') == 1 && strcasecmp(Tools::getToken(false), strval(Tools::getValue('token'))) && self::$cookie->isLogged() === true) $this->errors[] = Tools::displayError('Invalid token'); // Update the cart ONLY if $this->cookies are available, in order to avoid ghost carts created by bots if (($add OR Tools::getIsset('update') OR $delete) AND isset($_COOKIE[self::$cookie->getName()])) { //get the values $idProduct = (int)(Tools::getValue('id_product', NULL)); $idProductAttribute = (int)(Tools::getValue('id_product_attribute', Tools::getValue('ipa'))); $customizationId = (int)(Tools::getValue('id_customization', 0)); $qty = (int)(abs(Tools::getValue('qty', 1))); if ($qty == 0) $this->errors[] = Tools::displayError('Null quantity'); elseif (!$idProduct) $this->errors[] = Tools::displayError('Product not found'); else { $producToAdd = new Product((int)($idProduct), true, (int)(self::$cookie->id_lang)); if ((!$producToAdd->id OR !$producToAdd->active) AND !$delete) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('Product is no longer available.', false).'"]}'); else $this->errors[] = Tools::displayError('Product is no longer available.', false); else { /* Check the quantity availability */ if ($idProductAttribute AND is_numeric($idProductAttribute)) { if (!$delete AND !$producToAdd->isAvailableWhenOutOfStock($producToAdd->out_of_stock) AND !Attribute::checkAttributeQty((int)$idProductAttribute, (int)$qty)) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('There is not enough product in stock.', false).'"]}'); else $this->errors[] = Tools::displayError('There is not enough product in stock.'); } elseif ($producToAdd->hasAttributes() AND !$delete) { $idProductAttribute = Product::getDefaultAttribute((int)$producToAdd->id, (int)$producToAdd->out_of_stock == 2 ? !(int)Configuration::get('PS_ORDER_OUT_OF_STOCK') : !(int)$producToAdd->out_of_stock); if (!$idProductAttribute) Tools::redirectAdmin($link->getProductLink($producToAdd)); elseif (!$delete AND !$producToAdd->isAvailableWhenOutOfStock($producToAdd->out_of_stock) AND !Attribute::checkAttributeQty((int)$idProductAttribute, (int)$qty)) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('There is not enough product in stock.', false).'"]}'); else $this->errors[] = Tools::displayError('There is not enough product in stock.'); } elseif (!$delete AND !$producToAdd->checkQty((int)$qty)) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('There is not enough product in stock.').'"]}'); else $this->errors[] = Tools::displayError('There is not enough product in stock.'); /* Check vouchers compatibility */ if ($add AND (($producToAdd->specificPrice AND (float)($producToAdd->specificPrice['reduction'])) OR $producToAdd->on_sale)) { $discounts = self::$cart->getDiscounts(); $hasUndiscountedProduct = null; foreach($discounts as $discount) { if (is_null($hasUndiscountedProduct)) { $hasUndiscountedProduct = false; foreach(self::$cart->getProducts() as $product) if ($product['reduction_applies'] === false) { $hasUndiscountedProduct = true; break; } } if (!$discount['cumulable_reduction'] && ($discount['id_discount_type'] != 1 || !$hasUndiscountedProduct)) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('Cannot add this product because current voucher does not allow additional discounts.').'"]}'); else $this->errors[] = Tools::displayError('Cannot add this product because current voucher does not allow additional discounts.'); } } if ($add && $qty >= 0 && Tools::getValue('op', 'up') == 'up') if ((self::$cart->nbProducts() + $qty) > 1) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('Votre panier ne doit contenir qu\'un seul produit.', false).'"]}'); else $this->errors[] = Tools::displayError('Votre panier ne doit contenir qu\'un seul produit.'); if (!sizeof($this->errors)) { if ($add AND $qty >= 0) { /* Product addition to the cart */ if (!isset(self::$cart->id) OR !self::$cart->id) { self::$cart->add(); if (self::$cart->id) self::$cookie->id_cart = (int)(self::$cart->id); } if ($add AND !$producToAdd->hasAllRequiredCustomizableFields() AND !$customizationId) $this->errors[] = Tools::displayError('Please fill in all required fields, then save the customization.'); if (!sizeof($this->errors)) { $updateQuantity = self::$cart->updateQty((int)($qty), (int)($idProduct), (int)($idProductAttribute), $customizationId, Tools::getValue('op', 'up')); if ($updateQuantity < 0) { /* if product has attribute, minimal quantity is set with minimal quantity of attribute*/ if ((int)$idProductAttribute) $minimal_quantity = Attribute::getAttributeMinimalQty((int)$idProductAttribute); else $minimal_quantity = $producToAdd->minimal_quantity; if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('You must add', false).' '.$minimal_quantity.' '.Tools::displayError('Minimum quantity', false).'"]}'); else $this->errors[] = Tools::displayError('You must add').' '.$minimal_quantity.' '.Tools::displayError('Minimum quantity') .((isset($_SERVER['HTTP_REFERER']) AND basename($_SERVER['HTTP_REFERER']) == 'order.php' OR (!Tools::isSubmit('ajax') AND substr(basename($_SERVER['REQUEST_URI']),0, strlen('cart.php')) == 'cart.php')) ? ('<script language="javascript">setTimeout("history.back()",5000);</script><br />- '. Tools::displayError('You will be redirected to your cart in a few seconds.')) : ''); } elseif (!$updateQuantity) { if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('You already have the maximum quantity available for this product.', false).'"]}'); else $this->errors[] = Tools::displayError('You already have the maximum quantity available for this product.') .((isset($_SERVER['HTTP_REFERER']) AND basename($_SERVER['HTTP_REFERER']) == 'order.php' OR (!Tools::isSubmit('ajax') AND substr(basename($_SERVER['REQUEST_URI']),0, strlen('cart.php')) == 'cart.php')) ? ('<script language="javascript">setTimeout("history.back()",5000);</script><br />- '. Tools::displayError('You will be redirected to your cart in a few seconds.')) : ''); } } } elseif ($delete) { if (self::$cart->deleteProduct((int)($idProduct), (int)($idProductAttribute), (int)($customizationId))) if (!Cart::getNbProducts((int)(self::$cart->id))) { self::$cart->id_carrier = 0; self::$cart->gift = 0; self::$cart->gift_message = ''; self::$cart->update(); } } } $discounts = self::$cart->getDiscounts(); foreach($discounts AS $discount) { $discountObj = new Discount((int)($discount['id_discount']), (int)(self::$cookie->id_lang)); if ($error = self::$cart->checkDiscountValidity($discountObj, $discounts, self::$cart->getOrderTotal(true, Cart::ONLY_PRODUCTS), self::$cart->getProducts())) { self::$cart->deleteDiscount((int)($discount['id_discount'])); self::$cart->update(); $errors[] = $error; } } if (!sizeof($this->errors)) { $queryString = Tools::safeOutput(Tools::getValue('query', NULL)); if ($queryString AND !Configuration::get('PS_CART_REDIRECT')) Tools::redirect('search.php?search='.$queryString); if (isset($_SERVER['HTTP_REFERER'])) { // Redirect to previous page preg_match('!http(s?)://(.*)/(.*)!', $_SERVER['HTTP_REFERER'], $regs); if (isset($regs[3]) AND !Configuration::get('PS_CART_REDIRECT') AND Tools::getValue('ajax') != 'true') Tools::redirect($_SERVER['HTTP_REFERER']); } } } if (Tools::getValue('ajax') != 'true' AND !sizeof($this->errors)) Tools::redirect('order.php?'.(isset($idProduct) ? 'ipa='.(int)($idProduct) : '')); } } } } - Pour Prestashop 1.5 essayer ça : Mettre tout ça dans /override/controllers/front/CartController.php <?php class CartController extends CartControllerCore { public $php_self = 'cart'; protected $id_product; protected $id_product_attribute; protected $id_address_delivery; protected $customization_id; protected $qty; protected $ajax_refresh = false; public function postProcess(){ $actual_cart = $this->context->cart->getProducts(true); // Update the cart ONLY if $this->cookies are available, in order to avoid ghost carts created by bots if ($this->context->cookie->exists() && !$this->errors && !($this->context->customer->isLogged() && !$this->isTokenValid())) { if (Tools::getIsset('add') && $actual_cart[0]['cart_quantity'] < '1' || Tools::getIsset('update') && $actual_cart[0]['cart_quantity'] < '1' || Tools::getIsset('add') && Tools::getIsset('op') == 1) $this->processChangeProductInCart(); else if (Tools::getIsset('delete')) $this->processDeleteProductInCart(); else if (Tools::getIsset('changeAddressDelivery')) $this->processChangeProductAddressDelivery(); else if (Tools::getIsset('allowSeperatedPackage')) $this->processAllowSeperatedPackage(); else if (Tools::getIsset('duplicate')) $this->processDuplicateProduct(); if (Tools::getIsset('add') && $actual_cart[0]['cart_quantity'] > '0' || Tools::getIsset('update') && $actual_cart[0]['cart_quantity'] > '0') $this->errors[] = Tools::displayError('Il y a deja un produit dans votre panier.'); // Make redirection if (!$this->errors && !$this->ajax) { $queryString = Tools::safeOutput(Tools::getValue('query', null)); if ($queryString && !Configuration::get('PS_CART_REDIRECT')) Tools::redirect('index.php?controller=search&search='.$queryString); // Redirect to previous page if (isset($_SERVER['HTTP_REFERER'])) { preg_match('!http(s?)://(.*)/(.*)!', $_SERVER['HTTP_REFERER'], $regs); if (isset($regs[3]) && !Configuration::get('PS_CART_REDIRECT')) Tools::redirect($_SERVER['HTTP_REFERER']); } Tools::redirect('index.php?controller=order&'.(isset($this->id_product) ? 'ipa='.$this->id_product : '')); } } elseif (!$this->isTokenValid()) Tools::redirect('index.php'); } } Cordialement l'équipe Aduler.com Edited July 9, 2013 by Aduler.com (see edit history) Link to comment Share on other sites More sharing options...
Powerbook1800 Posted May 6, 2014 Share Posted May 6, 2014 Bonjour à tous, Je relance ce post... J'ai un besoin similaire -> proposer aux visiteurs un échantillon remboursable, échantillon que l'on ne peut commander qu'à un exemplaire. L'idée c'est que le visiteur s'enregistre et paye l'échantillon (2€) (les frais de port sont gratuit), l'échantillon sera accompagné d'un code réduction de 2€. Je pense qu'il sera "motivé" pour passer sa commande et "récupérer" ses 2€. J'ai tenté la modif de "hseb", elle fonctionne très bien... merci ! Mais elle limite seulement la quantité pour un produit dans la fiche produit, rien n'empêche l'utilisateur de modifier la quantité dans le panier ensuite... Si vous connaissez un module qui propose ce type de fonctionnalité ou une méthode pour mettre en place ce type de besoin simplement, je suis preneur ;-) Merci. Link to comment Share on other sites More sharing options...
hseb Posted May 6, 2014 Share Posted May 6, 2014 Bonjour à tous, Je relance ce post... J'ai un besoin similaire -> proposer aux visiteurs un échantillon remboursable, échantillon que l'on ne peut commander qu'à un exemplaire. L'idée c'est que le visiteur s'enregistre et paye l'échantillon (2€) (les frais de port sont gratuit), l'échantillon sera accompagné d'un code réduction de 2€. Je pense qu'il sera "motivé" pour passer sa commande et "récupérer" ses 2€. J'ai tenté la modif de "hseb", elle fonctionne très bien... merci ! Mais elle limite seulement la quantité pour un produit dans la fiche produit, rien n'empêche l'utilisateur de modifier la quantité dans le panier ensuite... Si vous connaissez un module qui propose ce type de fonctionnalité ou une méthode pour mettre en place ce type de besoin simplement, je suis preneur ;-) Merci. Une solution pas très académique, mais qui fonctionne ;-) consiste tout simplement à masquer le bouton de changement des quantités du panier par un "display: none" dans la CSS. Si ca peut aider... Link to comment Share on other sites More sharing options...
Recommended Posts