2010-12-28 7 views
3

Ich habe einige benutzerdefinierte Erweiterungen. Sie werden in der rechten Seitenleiste angezeigt, und ich habe sie zuvor direkt unter dem Sidebar-Einkaufswagen angezeigt, der oben angezeigt wird, wie es before = "-" in der checkout.xml-Datei hat.Magento XML-Layouts - vor = "-" funktioniert nicht in 1.4.2

Seit dem Upgrade auf 1.4.2 erscheinen meine benutzerdefinierten Erweiterungen jetzt oben in der Seitenleiste. Ich habe after = "cart_sidebar" zu den xml-Layouts der Erweiterungen hinzugefügt, aber sie erscheinen immer noch über dem Sidebar-Einkaufswagen.

die Reihenfolge der Erweiterungen ändern, sie unter sich nur bewegen, immer an der Spitze - zum Beispiel, wenn ich nach = add „-“ einem von ihnen, sie nach den anderen benutzerdefinierten Erweiterungen erscheinen nur, aber immer noch oben über dem Warenkorb und anderen standardmäßigen Sidebar-Elementen.

Wer eine Idee warum?

UPDATE:

ich auf dem gedreht „Template Pfad Hints“, und für meine benutzerdefinierte Sidebar blockiert, der rote Text der Vorlage Pfade zeigt erscheint weiter unten in der Seitenleiste, wo der Block zeigte sein soll, aber Der eigentliche HTML-Code des Blocks erscheint immer noch oben in der Seitenleiste!

alt text

+0

Wenn Sie sagen, dass Sie einige benutzerdefinierte Erweiterungen haben, ist das wirklich vage. Meinst du, du hast ein Modul mit einigen Blöcken erstellt, und wenn du diese Blöcke über layout.xml hinzufügst, funktioniert die Renderreihenfolge nicht? Oder verwenden Sie ein bestimmtes benutzerdefiniertes Modul, das zum automatischen Einfügen von Elementen in das Layout eines bestimmten Speicherorts verwendet wurde und sich das Standortverhalten nun geändert hat? Wenn Sie hier Fragen stellen, gehen Sie davon aus, dass alles, was wir über Ihr Setup wissen, eine Basisinstallation von Magento ist. Sie müssen uns über den Rest informieren, wenn Sie eine Programmierung benötigen, um Ihr Problem zu diagnostizieren. –

Antwort

1

Bevor versuchen, herauszufinden, was hier in geschieht, sollten Sie feststellen, folgende:

  • Alle Magento Module und Erweiterungen sind in einer solchen Reihenfolge geladen, dass sie ihre Erklärung Abschnitt Anforderungen (xmls treffen sich in App/etc/Module /). Damit Module, die von anderen Modulen abhängen, nur nach ihnen geladen werden.
  • Wenn Module nach ihren Anforderungen gleich sind, dann geht die Priorität an den Namespace 'Mage' und dann an die Namespaces der benutzerdefinierten Module. Innerhalb der Namespaces ist die Priorität in alphabetischer Reihenfolge angegeben.
  • Die Konfiguration des Modullayouts wird während des Ladens des Moduls erstellt. Das Ergebnis von "Vorher" - und "Nachher" -Anweisungen hängt von Blöcken ab, die bereits von zuvor geladenen Modulen hinzugefügt wurden. I.e. Wenn ein Block die Anweisung 'before = "-' 'hat, platziert er zuerst den Block, später können andere Blöcke von den nächsten Modulen ihre Anweisungen vor diesem Block anhängen.

Jetzt kehren wir zu Ihrem Fall zurück. Ihr Problem kann mehrere Gründe haben, abhängig von Ihrer Magento-Konfiguration.

Zunächst einmal ich

  1. Schalten Sie ganze Cache

    empfehlen - so dass Sie alle Änderungen sehen werden sofort
  2. Schalten Sie alle nur Ihre Erweiterungen und Test Dinge mit einem von ihnen
  3. Schalten auf Standard-Magento CE Thema und die Haut ("default" -Paket)

dann folgende Fälle prüfen:

  1. Vielleicht ist Ihr Layout-Schema geändert und Ihre Erweiterung bezieht sich nicht auf den richtigen Block (wie "cart_sidebar" verwendet), um sich selbst einzufügen.
  2. Vielleicht löscht eine Erweiterung den ursprünglichen cart_sidebar-Block und setzt ihn zuletzt in die Warteschlange der Blöcke.
  3. Vielleicht einige CSS oder JS Regeln platzieren Block nur visuell vor anderen Blöcken (überprüfen Blöcke Reihenfolge in Original-HTML-Quelle)
  4. Vielleicht ändert eine Erweiterung Layout-Komposition Regeln. Versuchen Sie, nur einen von ihnen zu drehen. Versuchen Sie dann, nur einen anderen zu drehen und das Ergebnis zu prüfen.
+0

Die Sache ist, es hat vorher gut funktioniert, am 1.4.1.1. Erst seit dem Upgrade hat sich das Verhalten geändert. –

Verwandte Themen