webmatersweetch Posted March 23, 2020 Share Posted March 23, 2020 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! Link to comment Share on other sites More sharing options...
joseantgv Posted March 23, 2020 Share Posted March 23, 2020 Bonjour, Pour configurer cela, vous avez besoin d'un module. Link to comment Share on other sites More sharing options...
coeos.pro Posted March 23, 2020 Share Posted March 23, 2020 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 ? Link to comment Share on other sites More sharing options...
doekia Posted March 23, 2020 Share Posted March 23, 2020 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 Link to comment Share on other sites More sharing options...
webmatersweetch Posted March 23, 2020 Author Share Posted March 23, 2020 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. Link to comment Share on other sites More sharing options...
webmatersweetch Posted March 23, 2020 Author Share Posted March 23, 2020 27 minutes ago, coeos.pro said: vous pouvez donner l'url de 2 produits différents avec la même déclinaison ? Voici https://www.sweetch.ch/fr/e-liquides/1190-nicvape-turkish-50ml.html#/nicotine-0mg/contenance-2ml_degust_ https://www.sweetch.ch/fr/e-liquides/1221-dmk-va-bajo-50ml.html#/nicotine-0mg/contenance-2ml_degust_ Link to comment Share on other sites More sharing options...
coeos.pro Posted March 23, 2020 Share Posted March 23, 2020 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 Link to comment Share on other sites More sharing options...
webmatersweetch Posted March 23, 2020 Author Share Posted March 23, 2020 Ok, Ducoup c'est impossible de limiter l'achat des ces déclinaison à x4 par panier en global? Link to comment Share on other sites More sharing options...
doekia Posted March 23, 2020 Share Posted March 23, 2020 En utilisant pour pivot la table ps_product_combination vous obtenez les id_attribute similaire si ils dépendent d'un même attribut. Link to comment Share on other sites More sharing options...
webmatersweetch Posted March 23, 2020 Author Share Posted March 23, 2020 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 ? Link to comment Share on other sites More sharing options...
doekia Posted March 23, 2020 Share Posted March 23, 2020 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) Link to comment Share on other sites More sharing options...
webmatersweetch Posted March 23, 2020 Author Share Posted March 23, 2020 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 Link to comment Share on other sites More sharing options...
webmatersweetch Posted March 23, 2020 Author Share Posted March 23, 2020 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 ? Link to comment Share on other sites More sharing options...
webmatersweetch Posted March 23, 2020 Author Share Posted March 23, 2020 Solution trouvé avec ce module : https://mypresta.eu/modules/ordering-process/cart-conditions-pro.html Merci quand meme 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