2

I know and do you confirm that Magento will first look for layout updates in the admin panel, and then in local.xml. when there are no updates it will then go to the next fallback step wich is all the different module xml files in the default theme and finally, if it doesn't find theme there either, it will look for them in the base theme. inside of the actual files.

A specific handles for pages or blocks will have a (higher priority) than what is inside of the default handles which covers pretty much every page.

  • There are some who also say that Magento loads xml in the alphabetical order ?
  • Admitting if there is some conflict or incoherence in xml between the module layout.xml and local.xml, What order will it take Magento between theme ?

1 Answer 1

1

Magento will prioritize layout definitions in the following priority (listed highest to lowest):

  1. "Inline" Updates (specified as "Custom Layout XML" within Admin panel)
  2. Theme Layout Updates
    1. Action-specific handles
    2. <default> handle
  3. "Parent" theme updates
    1. Action-specific handles
    2. <default> handle
  4. Base theme updates
    1. Action-specific handles
    2. <default> handle

Magento essentially merges the XML structure to be one large XML document, and interprets that XML document. So instead of thinking of one as overriding the other, think of it as extending the other. So you don't "replace" a node in layout.xml with something from local.xml; instead, you add or modify the node or tell Magento to execute extra methods (like remove the node) when the merged XML document is being generated.

As for the order that Magento loads the XML documents, I believe it's alphabetical by module name.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.