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!
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!
Antworten:
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_anchor
Attribut für alle Kategorien auf '1' aktualisieren .
SELECT * FROM eav_attribute where attribute_code = 'is_anchor'
Die obige Abfrage sollte Ihnen das is_anchor
Attribut geben. Ich sehe, dass die Attribut-ID 51 ist (könnte für Sie anders sein). und das backend_type
ist 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.
catalog_category_entity_int
set value = 1 wobei attribute_id = (SELECT attribute_id FROM eav_attribute
wobei attribute_code = 'is_anchor');
catalog_category_int
set value = 1 wobei attribute_id = 51 und parent_id <> 0; aber Fehler: # 1146 - Tabelle 'magento1.catalog_category_int' existiert nicht
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.
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