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!

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.


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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.