Frage

Ich versuche herauszufinden, warum eine Magento Enterprise -Website im Abschnitt "Verwandter Element" der Seite viermal das gleiche Element anzeigt.

Richtiges Verhalten:
- Nach dem Löschen von Caches vier Verschiedene Gegenstände werden auf der ersten Seite geladen (dies ist das richtige Verhalten)

Problem: - Zusätzliche Seite Ladungen zeigen nicht nur die gleichen vier Elemente, sondern auch die genau gleicher Artikel viermal wiederholt (siehe Screenshot)
- Der wiederholte Artikel ist immer das Letzter Artikel Das wurde in der Originalseite geladen. Mit anderen Worten, wenn auf der ersten Seite geladen A, B, C, D verwandte Elemente nach einem Cache -Fush angezeigt werden, wird es 'D' auf zukünftige Seitenladungen viermal wiederholt. D, D, D, D.

Same exact item repeated four times

HINTERGRUND:
- Seite verwendet ein benutzerdefiniertes Thema.
- Dieses Problem findet nur statt, wenn das Caching der vollständigen Seite eingeschaltet ist.
- Wenn die Seite zum "Standard" -Thema zurückgegeben wird, findet das Problem nicht mehr statt, selbst wenn das abgeschaltete Abschnitt der Seite eingeschaltet ist
- Um zusammenzufassen: Das Problem tritt nur mit dem benutzerdefinierten Thema und dem vollständigen Seitendeck auf, das eingeschaltet wurde
- Magento Enterprise Ver. 1.13.0.0

Der Teil der zugehörigen Produkte der Seite wird mit dem folgenden Code eingefügt:

<?php echo $this->getChildHtml('relatedProducts', false) ?>

Ich wäre dankbar für:
- Ein spezifisches Vorsprung für dieses Problem
- Zuverlässige Wege, um einen bestimmten Cache in Bezug auf dieses (in GUI? In Code? In Terminal?) Zu deaktivieren?)
- Tests und Schritte, die ich ausführen kann, um dies auf Code, DB oder Dateien einzugrenzen.

Danke im Voraus!

War es hilfreich?

Lösung

Es stellte sich heraus, dass wir eine lokale Version des Standards erstellt hatten verwandt.phtml Datei, die als Vorlage für den zugehörigen Elemente Block verwendet wurde. In diesem Code gibt es diese Zeile in einer Schleife:

$itemBlock = $this->getChild('catalog.product.related.item')->setItem($_item)->setPosition($i);

Beachten Sie die $ I -Variable gegen Ende der Linie.

Diese Variable wurde an anderer Stelle im Code nicht erhöht. Ich fügte hinzu $i = 0; vor der Schleife und $i++; am entsprechenden Ort innerhalb der Schleife. Mit der jetzt Inkrementierung der $ i -Variablen wurde das Problem der Wiederholungselemente behoben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top