Jump to content
webmatersweetch

Set un maximum de déclinaison de produit par panier

Recommended Posts

Bonjour,

Je vais essayer d’être le plus clair possible sur mon problème.

Nous avons environs 350 produits qui ont chacun la même déclinaisons. La déclinaison à donc le même ID sur tous les produits.

Pour éviter les abus, j'aimerai que cette déclinaison soit maximum achetable 4 fois par panier et par client.

Est-ce quelque chose de possible ou impossible ? Si quelqu'un à déjà fait quelque chose similaire cela serai cool de me donner des tips. 

Merci beaucoup!

Share this post


Link to post
Share on other sites

Bonjour,

Pour configurer cela, vous avez besoin d'un module.

Share this post


Link to post
Share on other sites
il y a 9 minutes, webmatersweetch a dit :

Nous avons environs 350 produits qui ont chacun la même déclinaisons. La déclinaison à donc le même ID sur tous les produits.

vous pouvez donner l'url de 2 produits différents avec la même déclinaison ?

Share this post


Link to post
Share on other sites
il y a 8 minutes, webmatersweetch a dit :

La déclinaison à donc le même ID sur tous les produits.

Absolument pas id_product_attribute est différent par produit

 

Share this post


Link to post
Share on other sites

Oui je viens de me rendre compte que id_product_attribute est différent sur tous les produits, même si coté front office la déclinaison est pareil.

Donc c'est impossible de prendre l'id d'une déclinaison est la rendre limitée en global?

J'ai déjà un module limite la quantité par panier PAR produit mais non en globale.

Share this post


Link to post
Share on other sites

ce ne sont pas les mêmes déclinaisons, par exemple pour le premier produit  id_product_attribute =3911, pour le second id_product_attribute = 4333, donc ce sont des déclinaisons différentes et si n change les attributs ces valeurs changent

Share this post


Link to post
Share on other sites

En utilisant pour pivot la table ps_product_combination vous obtenez les id_attribute similaire si ils dépendent d'un même attribut.

Share this post


Link to post
Share on other sites

Ok je voit comment les regrouper.

Ducoup création de module obligatoire pour bloquer cette id_attibute  au max 4 par panier ou je peu directement override dans cartController ?

Share this post


Link to post
Share on other sites

a toi de voir, les 2 solutions sont possible. L'override de Cart est sûrement plus simple à mettre en oeuvre (je pense d’ailleurs qu'un module devra également overrider Cart)

Share this post


Link to post
Share on other sites

Voici ce que j'essaye qui ne fonctionne pas dans cartController..

$id_attribute = 'SELECT id_attribute FROM sw_product_attribute_combination WHERE id_product_attribute = '.$this->id_product_attribute.'';

$total_cart_products_count = 0;

 $max_qty = 4;

        if ($id_attribute == 87) {
            if(Tools::getValue('op','up') == 'up' && $mode == 'add') {
                if(count($cart_products) == $max_qty ||  $total_cart_products_count + $this->qty > $max_qty) 
                    $this->errors[] = sprintf(Tools::displayError('error'));
                
            }
        }

Des idées pour m'aider ? Merci

Share this post


Link to post
Share on other sites

Je me suis inspiré de ceci

Je suppose que la facon de le faire et la meme que ce qu'il montre en y ajoutant nos conditions ?

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More