Jump to content

Liste produits, condition sur ID catégorie (si active)


Asu34

Recommended Posts

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

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

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

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

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

  • 10 months later...
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

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 by Ric34 (see edit history)
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...