Jump to content

Filtrer les produits mis au panier avant confirmation de commande


Recommended Posts

Bonjour à tous.

J'ai besoin d'aide sur un bout de code.
Ce que je cherche à faire :
L'acheteur met des produits dans son panier. Le panier se remplit au fur et à mesure qu'il y ajoute des produits.

Dans ma boutique, il y a un produit id-13 qui, s'il est ajouté au panier, doit obligatoirement exclure les autres produits id-xxx qui y ont déjà été insérés, ou qui y seront insérés après lui.

C'est un produit que l'on commande tout seul, à l'exclusion de tout autre.

Je pensais insérer ce bout de code dans cart.php

foreach($products AS $product)
       {
           if (id_product == 13)
               foreach($products AS $product)
                   {
                       if (id_product <> 13)
                           return $this->deleteProduct(intval($id_product), intval($id_product_attribute), intval($id_customization));
                       else
                           Db::getInstance()->Execute('
                           UPDATE `'._DB_PREFIX_.'cart_product`
                           SET `quantity` = '.$qty.'
                           WHERE `id_product` = '.intval($id_product).
                           ($id_product_attribute != NULL ? ' AND `id_product_attribute` = '.intval($id_product_attribute) : '').'
                           AND `id_cart` = '.intval($this->id));
                   }
       }



Mais il est sans effet.

On peut le traduire ainsi :

On regarde les produits dans le panier, si le produit id-13 y figure : le code enlève les autres produits du panier. En faisant celà à chaque ajout de produit au panier, celui ci (devrait) rester inchangé.

Pour être pratique : J'essaye de faire en sorte que l'acheteur n'achète pas le devis "fourniture et pose" (payant) en même temps que les fournitures.

Si vous avez une idée ou une suggestion sur ce bout de code, je vous remercie.

J'ai également pensé à vider le panier lorsque l'acheteur y insère le produit id-13 :

if ($idProduct == 13) $cart->delete();


qui fonctionne après la ligne 26 de cart.php, mais l'acheteur peut ensuite continuer à ajouter des produits, ce qui n'est pas souhaitable.

D'avance merci pour l'aide que vous pourrez m'apporter.

v. 1.2.5

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...