Asu34 Posted January 7, 2022 Share Posted January 7, 2022 Bonjour à tous, Je cherche à mettre en place une condition pour l'affichage d'un champ sur les produits appartenant à une catégorie (et si cette dernière est active)... Ce champ serait présent sur la liste des produits. Suis sur PS 1.7... Vous auriez une idée ? Merci Link to comment Share on other sites More sharing options...
Prestachamps Posted January 7, 2022 Share Posted January 7, 2022 Salut, Je vous propose les choses suivantes : 1. Créez une fonctionnalité avec la variable nécessaire et attribuez-la aux produits spécifiques. 2. Avec quelques modifications mineures concernant la liste des catégories, vous pouvez attribuer cette fonctionnalité à la page de liste des produits si l'ID de catégorie correspond à celui dont vous avez besoin. Cdlt, Leo Link to comment Share on other sites More sharing options...
Asu34 Posted January 7, 2022 Author Share Posted January 7, 2022 Bonjour et mer ci pour ton retour. Je suis dessus et en train de faire des tests et me suis certainement mal exprimé précédemment. La condition sur l'id de la catégorie est "facile" avec : {if $category.id == 99} Mon champ {/if} Cependant un produit peut être dans cette catégorie ( id 99) et une autre. Le problème est que sur l'autre catégorie l'id de la 1ere condition (99) de catégorie n'est pas dispo (via le debug, je ne retrouve que celui de la catégorie sur laquelle je suis...) De plus il me faudrait une condition sur les autres catégories afin vérifier si le produit est présent sur tjs id 99 et si 99 est active... Je ne sais pas si vous voyez ce que je veux dire... ? Link to comment Share on other sites More sharing options...
Prestachamps Posted January 7, 2022 Share Posted January 7, 2022 Salut, Je ferais un changement et essaierais ce qui suit: {if in_array(99 , Product::getProductCategories($product->id|intval))} My field {/if} LEo 1 Link to comment Share on other sites More sharing options...
Asu34 Posted January 7, 2022 Author Share Posted January 7, 2022 Bravo ! cela fonctionne et merci. Cependant il me manque la petite condition qui me permettrait vérifier si la catégorie 99 est également active pour afficher ce champ sur les autres catégories. Je vous remercie par avance Link to comment Share on other sites More sharing options...
Asu34 Posted January 7, 2022 Author Share Posted January 7, 2022 Vous pensez que c'est possible ? Link to comment Share on other sites More sharing options...
Asu34 Posted January 9, 2022 Author Share Posted January 9, 2022 Je n'ai toujours pas réussi à ajouter la condition (si catégorie 99 active) à la précédente qui fonctionne... Je sèche un peu... Vous n'auriez pas une idée ? Link to comment Share on other sites More sharing options...
Prestachamps Posted January 9, 2022 Share Posted January 9, 2022 Salut Ric, Je regarderai une fois au bureau, demain matin. Je voyage en famille. Cdlt, Leo Link to comment Share on other sites More sharing options...
Asu34 Posted January 9, 2022 Author Share Posted January 9, 2022 Bonjour, ah super je vous en remercie. C'est assez urgent de mon côté car c'est pour les soldes que nous devions lancer ce soir à minuit... Je pense les retarder un peu en attendant votre retour. Bon voyage à vous Link to comment Share on other sites More sharing options...
Asu34 Posted November 30, 2022 Author Share Posted November 30, 2022 On 1/9/2022 at 12:36 PM, Ric34 said: Je n'ai toujours pas réussi à ajouter la condition (si catégorie 99 active) à la précédente qui fonctionne... Je sèche un peu... Vous n'auriez pas une idée ? Bonjour je me permets de relancer ce topic. Je n'ai toujours pas trouvé de solution. Je cherche une condition qui me permettrait savoir si un produit est dans une catégorie et si elle est active. Je n'ai pour l'instant que cette premiere solution avec : {if in_array(112 , Product::getProductCategories($product->id|intval))} Conditions {/if} Vous auriez une idée ? Je sèche de mon côté... Link to comment Share on other sites More sharing options...
Asu34 Posted December 2, 2022 Author Share Posted December 2, 2022 (edited) Petit UP. Sauf erreur de ma part je pense que ça se passe ici : public static function getProductCategoriesFull($id_product = '', $id_lang = null) { if (!$id_lang) { $id_lang = Context::getContext()->language->id; } $ret = array(); $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS( ' SELECT cp.`id_category`, cl.`name`, cl.`link_rewrite` FROM `' . _DB_PREFIX_ . 'category_product` cp LEFT JOIN `' . _DB_PREFIX_ . 'category` c ON (c.id_category = cp.id_category) LEFT JOIN `' . _DB_PREFIX_ . 'category_lang` cl ON (cp.`id_category` = cl.`id_category`' . Shop::addSqlRestrictionOnLang('cl') . ') ' . Shop::addSqlAssociation('category', 'c') . ' WHERE cp.`id_product` = ' . (int) $id_product . ' AND cl.`id_lang` = ' . (int) $id_lang ); foreach ($row as $val) { $ret[$val['id_category']] = $val; } return $ret; } J'ai tenté rajouté à la requête la condition : AND c.`active` = ' . 1 Mais ça ne marche pas... Vous n'auriez pas une idée ? @Prestachamps tu n'aurais pas une idée non plus ? Merci à tous par avance Edited December 2, 2022 by Ric34 (see edit history) Link to comment Share on other sites More sharing options...
Asu34 Posted December 9, 2022 Author Share Posted December 9, 2022 Arrff, je n'ai toujours pas trouvé de solution à mon besoin :(. Je vais également tenter ma chance sur le forum en anglais ne sait-on jamais. Link to comment Share on other sites More sharing options...
Mediacom87 Posted December 9, 2022 Share Posted December 9, 2022 Bonjour, Perso, depuis le début, j'aurais développé un module pour afficher les éléments comme je le souhaite, on ne peut pas tout faire simplement en modifiant un tpl. 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