J'ai plusieurs catégories et au lieu d'appliquer de nouveaux paramètres à toutes les catégories une par une, je voudrais savoir s'il est possible d'appliquer de nouveaux paramètres à toutes les catégories à la fois?
Merci!
Il n'y a aucun moyen de le faire à partir de l'interface utilisateur.
La façon dont je le fais habituellement, est de mettre à jour les valeurs dans la base de données. Ce n'est pas l'approche recommandée mais ça marche.
Supposons que vous souhaitiez mettre à jour l' is_anchor
attribut à «1» pour toutes les catégories.
SELECT * FROM eav_attribute where attribute_code = 'is_anchor'
La requête ci-dessus devrait vous donner l' is_anchor
attribut. Je note l'enregistrement qui en résulte, je vois que l'ID d'attribut est 51 (peut être différent pour vous). et l' backend_type
est int
. Cela signifie que les valeurs de l'attribut sont dans le tableau catalog_category_entity_int
.
UPDATE `catalog_category_entity_int` set value = 1 where attribute_id = 51 and parent_id <> 0;
Cette requête définira la valeur 1 pour l'attribut is_anchor (id 51), pour toutes les catégories sauf la «racine de toutes les racines», la catégorie avec parent = 0
.
Après avoir exécuté la requête, je réindexe les catégories plates et c'est tout.
catalog_category_entity_int
set value = 1 where attribute_id = (SELECT attribute_id FROMeav_attribute
where attribute_code = 'is_anchor');catalog_category_int
set value = 1 où attribute_id = 51 et parent_id <> 0; mais erreur: # 1146 - La table 'magento1.catalog_category_int' n'existe pasJe ne suis pas sûr des paramètres que vous modifiez dans votre catégorie, mais s'il figure dans la liste des options de cette page , l'utilisation de l'API REST Magento est probablement votre meilleure option.
la source
Identifiez d'abord l'ID d'attribut de l'attribut is_anchor:
nous obtenons l'attribut id 51 dans ma base de données. Exécutez maintenant la requête suivante
remplacez 51 par votre propre identifiant d'attribut. Et reconstruisez simplement ces index
la source