Es ist schwer zu sagen, ohne ein konkretes Beispiel, aber ich vermute, Sie stoßen auf ein Problem mit der Reihenfolge von Dateien vs.
Insbesondere lädt Magento seine XML-Dateien in der Modulreihenfolge, wobei zuletzt local.xml
angeheftet wird. Hier ist eine typische Liste in der richtigen Reihenfolge
frontend/base/default/layout/core.xml
frontend/rwd/default/layout/page.xml
frontend/rwd/default/layout/directory.xml
frontend/rwd/default/layout/cms.xml
frontend/rwd/default/layout/customer.xml
frontend/rwd/default/layout/catalog.xml
frontend/rwd/default/layout/catalog_msrp.xml
frontend/rwd/default/layout/catalogsearch.xml
frontend/base/default/layout/payment.xml
frontend/rwd/default/layout/sales.xml
frontend/base/default/layout/sales/billing_agreement.xml
frontend/base/default/layout/sales/recurring_profile.xml
frontend/base/default/layout/cataloginventory.xml
frontend/base/default/layout/shipping.xml
frontend/rwd/default/layout/checkout.xml
frontend/rwd/default/layout/paypal.xml
frontend/base/default/layout/bml.xml
frontend/rwd/default/layout/poll.xml
frontend/rwd/default/layout/review.xml
frontend/rwd/default/layout/tag.xml
frontend/base/default/layout/reports.xml
frontend/base/default/layout/googleanalytics.xml
frontend/rwd/default/layout/wishlist.xml
frontend/base/default/layout/paypaluk.xml
frontend/base/default/layout/giftmessage.xml
frontend/rwd/default/layout/contacts.xml
frontend/base/default/layout/sendfriend.xml
frontend/rwd/default/layout/rss.xml
frontend/base/default/layout/productalert.xml
frontend/rwd/default/layout/oauth.xml
frontend/base/default/layout/authorizenet.xml
frontend/rwd/default/layout/bundle.xml
frontend/rwd/default/layout/captcha.xml
frontend/base/default/layout/centinel.xml
frontend/rwd/default/layout/newsletter.xml
frontend/rwd/default/layout/downloadable.xml
frontend/base/default/layout/pagecache.xml
frontend/rwd/default/layout/persistent.xml
frontend/base/default/layout/weee.xml
frontend/base/default/layout/xmlconnect.xml
frontend/base/default/layout/moneybookers.xml
frontend/base/default/layout/pulsestorm_checkoutstep.xml
frontend/rwd/default/layout/local.xml
Das Laden der Auftragslayout-XML-Dateien bestimmt, welche Auftragslayout-XML-Regeln angewendet werden - pro Handle . Es ist dieser letzte Teil, der die Leute aus dem Konzept bringt. Handles sind die XML-Knoten der obersten Ebene.
<config>
<handle_name>
</handle_name>
</config>
Handles sind ähnliche Ereignisse für das Layout - für jede Seitenanforderung gibt Magento eine Reihe von Handles aus. Sie können Commerce Bug verwenden, um zu sehen, welche Handles für eine bestimmte Seitenanforderung ausgegeben werden
Für diejenigen mit deaktivierten Bildern waren die für diese bestimmte Seitenanforderung ausgegebenen Handles
<default />
<catalog_category_layered_nochildren />
<STORE_default />
<THEME_frontend_rwd_default />
<catalog_category_view />
<catalog_category_default />
<CATEGORY_3 />
Dies bedeutet, dass Magento jeden default
XML-Chunk ausführt: zuerst für die core.xml
Datei, dann für jeden default
Chunk für die page.xml
Datei, bis hinunter zu local.xml
.
Dann führt Magento jeden catalog_category_layered_nochildren
XML-Block aus: zuerst für die core.xml
Datei, dann für die page.xml
Datei, bis hinunter zu local.xml
.
Dies wird für jeden Punkt fortgesetzt.
Dies bedeutet, dass, wenn sich in local.xml
einem default
Handle etwas Layout-Aktualisierungs-XML befindet , dieses vor etwas Layout-Aktualisierungs-XML ausgeführt wird core.xml
, das sich im catalog_category_layered_nochildren
Handle befindet. Dies ist bei weitem die Sache, die im Layout-XML-System die größte Verwirrung stiftet, zumal es ein bisschen konventionelle Weisheit gibt, die besagt, dass "local.xml last last" ist.
Wenn Sie das oben Genannte ein wenig verwirrt haben und mehr über das Layout-XML-System erfahren möchten, denke ich, dass mein Buch No Frills Magento Layout der beste Weg ist, das System von innen nach außen zu lernen.