Comment appliquer le paramètre d'affichage d'une catégorie à toutes les catégories?


10

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!

Réponses:


13

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_anchorattribut à «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_anchorattribut. 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_typeest 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.


perfecto! exactement ce que je cherchais: D
Aamir Siddique

7
Requête SQL mise à jour pour les versions plus récentes de Magento (je n'avais pas de colonne parent_id par exemple). UPDATE catalog_category_entity_intset value = 1 where attribute_id = (SELECT attribute_id FROM eav_attributewhere attribute_code = 'is_anchor');
Jasuten

@Marius ne fonctionne pas dans mon cas, j'essaye UPDATE catalog_category_intset value = 1 où attribute_id = 51 et parent_id <> 0; mais erreur: # 1146 - La table 'magento1.catalog_category_int' n'existe pas
Dinesh

1
@Dinesh cela signifie qu'il y a un problème avec votre instance magento.
Marius

@Marius comment le trouver et le réparer, n'importe quelle aide
Dinesh

2

Je 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.


1

Identifiez d'abord l'ID d'attribut de l'attribut is_anchor:

SELECT * FROM eav_attribute where attribute_code = 'is_anchor';

nous obtenons l'attribut id 51 dans ma base de données. Exécutez maintenant la requête suivante

UPDATE catalog_category_entity_int set value = 1 where attribute_id = 51;

remplacez 51 par votre propre identifiant d'attribut. Et reconstruisez simplement ces index

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.