Trudno powiedzieć bez konkretnego przykładu, ale podejrzewam, że masz problem z kolejnością plików a problem z kolejnością obsługi.
W szczególności Magento ładuje swoje pliki XML w kolejności modułów, z local.xml
ostatnią dołączoną. Oto typowa lista w kolejności
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
Pliki XML układu zamówienia są ładowane w dyktuje, że stosowane są reguły XML układu zamówienia - dla każdego uchwytu . To ostatnia część, która podrywa ludzi. Uchwyty to te węzły XML najwyższego poziomu.
<config>
<handle_name>
</handle_name>
</config>
Uchwyty są podobnymi wydarzeniami dla układu - na każde żądanie strony Magento wydaje kilka uchwytów. Możesz użyć Commerce Bug, aby zobaczyć, które uchwyty są wydawane dla konkretnego żądania strony
Dla osób z wyłączonymi obrazami były uchwyty wydane dla tego konkretnego żądania strony
<default />
<catalog_category_layered_nochildren />
<STORE_default />
<THEME_frontend_rwd_default />
<catalog_category_view />
<catalog_category_default />
<CATEGORY_3 />
Oznacza to, że Magento uruchomi każdą default
porcję XML: najpierw dla core.xml
pliku, potem każdą default
porcję dla page.xml
pliku, aż do local.xml
.
Następnie Magento uruchomi każdą catalog_category_layered_nochildren
porcję XML: najpierw dla core.xml
pliku, potem dla page.xml
pliku, aż do local.xml
.
Trwa to dla każdego uchwytu.
Co to oznacza to, że jeśli masz trochę aktualizacji XML w układzie local.xml
wewnątrz default
uchwytu, to potrwa zanim odrobiną aktualizacji układ XML w core.xml
to wewnątrz catalog_category_layered_nochildren
uchwytu. Jest to zdecydowanie rzecz, która powoduje najwięcej zamieszania w układzie XML układu, zwłaszcza że wokół jest trochę konwencjonalnej wiedzy, która mówi „ładuje plik local.xml ostatni”.
Jeśli powyższe nieco Cię zdezorientowało i musisz dowiedzieć się więcej o systemie Layout XML, nadal uważam, że moja książka No Frills Magento Layout to najlepszy sposób na naukę systemu od podszewki.