Wie wende ich die Anzeigeeinstellung einer Kategorie auf alle Kategorien an?

10

Ich habe viele Kategorien und anstatt neue Einstellungen nacheinander auf alle Kategorien anzuwenden, möchte ich wissen, ob dies möglich ist, neue Einstellungen auf alle Kategorien gleichzeitig anzuwenden.

Vielen Dank!

Aamir Siddique
quelle

Antworten:

13

Es gibt keine Möglichkeit, dies über die Benutzeroberfläche zu tun.
Normalerweise aktualisiere ich die Werte in der Datenbank. Es ist nicht der empfohlene Ansatz, aber es funktioniert.
Angenommen, Sie möchten das is_anchorAttribut für alle Kategorien auf '1' aktualisieren .

SELECT * FROM eav_attribute where attribute_code = 'is_anchor'

Die obige Abfrage sollte Ihnen das is_anchorAttribut geben. Ich sehe, dass die Attribut-ID 51 ist (könnte für Sie anders sein). und das backend_typeist int. Dies bedeutet, dass sich die Werte für das Attribut in der Tabelle befinden catalog_category_entity_int.

UPDATE `catalog_category_entity_int` set value = 1 where attribute_id = 51 and parent_id <> 0;

Diese Abfrage setzt den Wert 1 für das Attribut is_anchor (ID 51) für alle Kategorien mit Ausnahme der 'Wurzel aller Wurzeln', der Kategorie mit parent = 0.
Nachdem ich die Abfrage ausgeführt habe, indiziere ich die flachen Kategorien neu und das wars.

Marius
quelle
perfecto! genau das, wonach ich gesucht habe: D
Aamir Siddique
7
Aktualisierte SQL-Abfrage für neuere Versionen von Magento (ich hatte zum Beispiel keine Spalte parent_id). UPDATE catalog_category_entity_intset value = 1 wobei attribute_id = (SELECT attribute_id FROM eav_attributewobei attribute_code = 'is_anchor');
Jasuten
@Marius funktioniert in meinem Fall nicht Ich versuche UPDATE catalog_category_intset value = 1 wobei attribute_id = 51 und parent_id <> 0; aber Fehler: # 1146 - Tabelle 'magento1.catalog_category_int' existiert nicht
Dinesh
1
@Dinesh Dies bedeutet, dass mit Ihrer Magento-Instanz etwas nicht stimmt.
Marius
@ Marius, wie man es findet und repariert, jede Hilfe
Dinesh
2

Ich bin nicht sicher, welche Einstellungen Sie in Ihrer Kategorie ändern, aber wenn es auf der Liste der Optionen auf dieser Seite steht , ist die Verwendung der Magento REST-API wahrscheinlich die beste Option.

Talesh
quelle
1

Identifizieren Sie zuerst die Attribut-ID des Attributs is_anchor:

SELECT * FROM eav_attribute where attribute_code = 'is_anchor';

Wir erhalten die Attribut-ID 51 in meiner Datenbank. Führen Sie nun die folgende Abfrage aus

UPDATE catalog_category_entity_int set value = 1 where attribute_id = 51;

Ersetzen Sie 51 durch Ihre eigene Attribut-ID. Und erstellen Sie einfach diese Indizes neu

Pratik Kamani
quelle