Can a Magento 2 Theme Modify the Layout?
You have two options, you can either extend or overwrite the existing XML.
Extending
To extend an existing layout in a similar fashion to local.xml in Magento 1 you need to add an XML file in a location like this:
<theme_dir>
|__/<Namespace>_<Module>
|__/layout
|--<layout1>.xml
|--<layout2>.xml
Where <layout1>
and <layout2>
are your layout handles, for example:
<your_theme_dir>/Magento_Catalog/layout/catalog_product_view.xml
Official documentation can be found here - http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-extend.html
Overwriting
Overwriting XML is done in the same way, it's just the file location that changes. You can overwrite the base module's XML or the parent theme's XML, the file location determines which is overwritten.
To overwrite the base module's XML place your XML file in:
<theme_dir>
|__/<Namespace_Module>
|__/layout
|__/override
|__/base
|--<layout1>.xml
|--<layout2>.xml
To overwrite the parent theme's XML place your XML file in:
<theme_dir>
|__/<Namespace_Module>
|__/layout
|__/override
|__/theme
|__/<Parent_Vendor>
|__/<parent_theme>
|--<layout1>.xml
|--<layout2>.xml
Official documentation can be seen here - http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-override.html
Magento 2 has no concept of a local.xml
file. However, when a theme includes a specific layout handle XML file from a specific module
vendor//magento/theme-frontend-blank/Magento_Theme/layout/default.xml
Magento doesn't replace the original module's file, it simply merges the new layout handle XML file in the theme with the module's core file. Seems like a better system all around, as theme developers can no long accidentally remove important features.