Jump to content

Proposer qu'un seul article par panier


Recommended Posts

Salut à tous !

 

 

J'ai cherché pendant des heures en vain, donc je tente ma chance ! :D :D :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 ! :wacko:

 

 

Merci à tous. :)

 

Alex.

Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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;
                }
  • Like 1
Link to comment
Share on other sites

  • 1 month later...

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...