ahbaba Posted September 4, 2014 Share Posted September 4, 2014 Salut à tous ! J'ai cherché pendant des heures en vain, donc je tente ma chance ! :D Je souhaiterai que les clients ne puissent acheter qu'un seul article par panier. Je sais que certains ont eu des soucis pour pouvoir faire l'inverse (pouvoir mettre plusieur article dans un panier) notamment sur 1.5.1. Sauf qu'ils n'ont résolu lors problème en mettant à jour prestashop. Je suis dans l'impasse ! Merci à tous. Alex. Link to comment Share on other sites More sharing options...
samyha Posted September 4, 2014 Share Posted September 4, 2014 Hello, Il n'est pas possible, nativement, de limiter les quantités d'ajout d'un article au panier. Je pense que tu vas avoir besoin d'un développement spécifique Link to comment Share on other sites More sharing options...
ahbaba Posted September 4, 2014 Author Share Posted September 4, 2014 Salut Samyha, Merci beaucoup pour ces expliquations. Qu'entends-tu par "développement spécifique" ? Aurais-tu une idée dans quel fichier se trouve les codes du panier ? Merci ! Link to comment Share on other sites More sharing options...
Deithso Posted September 5, 2014 Share Posted September 5, 2014 Bonjour, Ce que samyha veut dire tout simplement c'est que cette option n'est pas disponible par défaut dans prestashop donc tu devras salir tes mains avec le code, Pour cela il faudra surcharger le frontcontroller "controllers/front/CartController.php" et mettre en place un teste sur le panier si pas vide afficher un message d'erreur sinon le produit sera ajouté Le test est à faire dans la fonction protected function processChangeProductInCart() Dedans tu trouveras une variable : $cart_products = $this->context->cart->getProducts(); Juste après "Pas obligatoire" tu mets ton teste $nb_cart_products = $this->context->cart->nbProducts(); if($nb_cart_products>0){ $this->errors[] = Tools::displayError('Ton message.'); return; } PS : Ma version prestashop 1.5.6.2 1 Link to comment Share on other sites More sharing options...
ahbaba Posted September 5, 2014 Author Share Posted September 5, 2014 Génial Deithso ! Je teste et je vous tiens au jus. Merci encore ! :) 1 Link to comment Share on other sites More sharing options...
Deithso Posted September 5, 2014 Share Posted September 5, 2014 Anytime, en fait j'ai fait une erreur dans le code, il faut utiliser la fonction getProducts() à la place de nbProducts() Voila la correction $nb_cart_products = count($this->context->cart->getProducts()); if($nb_cart_products>0){ $this->errors[] = Tools::displayError('Ton message.'); return; } 1 Link to comment Share on other sites More sharing options...
ahbaba Posted October 22, 2014 Author Share Posted October 22, 2014 Deithso, merci infiniment cela fonctionne parfaitement. J'avais essayé sans succès car je n'avais pas remplacé toute la ligne... seulement "getProducts" $nb_cart_products = count($this->context->cart->getProducts()) Merci encore ! 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