Magento: Flat-Katalog programmatisch neu erstellen

8

Ich verwende einen Cron, um Inventaränderungen jede Nacht zu importieren. Wenn ich versuche, die Informationen eines Produkts (Preis usw.) zu ändern, erhalte ich den folgenden Fehler:

%Vor%

Ich kann das beheben, indem ich im Cache Management Panel auf "Flat Catalog Product neu erstellen" klicke. Ich habe ein Cron eingerichtet, um dies programmgesteuert mit dem folgenden Code zu tun:

%Vor%

Ich erhalte keine Fehler, wenn ich das Skript ausführe, aber der Fehler "Spalte nicht gefunden" bleibt bestehen.

Weiß jemand, wie ich den flachen Katalog anders als über die Verwaltungsschnittstelle neu erstellen kann?

    
karnage 18.03.2010, 17:17
quelle

7 Antworten

4

Vorher habe ich gesagt:

%Vor%

Das ist nicht wahr. Entweder funktioniert. Ich habe jedoch durch einen ziemlich schmerzhaften Trial-and-Error-Prozess herausgefunden, dass die flachen Produkttabellen nicht korrekt neu erstellt werden, wenn ich nicht auch den gesamten Katalog neu aufbaut. So habe ich mein Problem endlich gelöst:

%Vor%

Im Grunde einfach alles neu erstellen. Mach dir keine Sorgen über die Optimierung. Wie jemand einmal sagte: "Vorzeitige Optimierung ist die Wurzel allen Übels."

    
user439441 28.01.2011, 17:36
quelle
2

Ich habe festgestellt, dass es eine effizientere Möglichkeit gibt, nur bestimmte Produktattribute zu aktualisieren.

%Vor%

Oder Sie können das gesamte Produkt in der flachen Tabelle aktualisieren:

%Vor%

Dabei ist $ productIds ein Array der zu aktualisierenden Product-Entity-IDs. Diese Funktionen aktualisieren auch andere indizierte Daten in Bezug auf die von Ihnen aktualisierten Produkte. Hoffe, das hilft.

    
Ray 14.12.2011 05:09
quelle
1

Sehen Sie sich dieses Skript an. Ich persönlich hatte einige Probleme damit, aber andere scheinen damit recht zufrieden zu sein Wenn Sie die ganze Sache nicht wollen, können Sie das Teil, das das flache Katalogprodukt neu baut und einen Cron-Job darauf richtet, leicht herausziehen.

    
Laizer 18.03.2010 23:02
quelle
1
%Vor%     
Magento 13.10.2011 18:30
quelle
1
%Vor%

Leute, warum recherchierst du nicht ein bisschen vor dem Post, was nicht funktioniert, öffne die Shell / indexer.php, darin findest du alle Antworten, die mit der Indexierung zusammenhängen.

    
useless 06.05.2012 22:14
quelle
0

Ich kann es auch nicht richtig funktionieren lassen.

Wenn ich das Rebuild Flat Catalog Product aus dem Admin neu erstelle, funktioniert es gut und ich bekomme den SQL-Spaltenfehler nicht, aber wenn ich es programmatisch mache, funktioniert es nicht über:

Mage :: getResourceModel ('catalog / product_flat_indexer') - & gt; rebuild ();

    
Tegan Snyder 28.03.2010 23:44
quelle
0

Ich habe diesen Code basierend auf dem Shell-Reindex-Skript geschrieben. Ich habe es in Magento 1.5.1 mit einem Web-Skript (mit langer max_execution_time) getestet.

%Vor%     
quelle

Tags und Links