Magento theme inheritance

The frontend of Magento allows designers to create new themes based on the basic Blank theme, reusing the main code without changing its main structure. The fallback system is a theme's inheritance mechanism and allows the developers to create only the files that are necessary for customization.

The Luma theme, for example, uses the fallback system by inheriting the Blank theme's basic structure. The Luma theme's parent is declared in its theme.xml file:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd"> 
    <title>Magento Luma</title> 
    <parent>Magento/blank</parent> 
    <media> 
        <preview_image>media/preview.jpg</preview_image> 
    </media> 
</theme> 

The inheritance works like an override system. You can create new themes by using the existent ones (parents) and by replacing (overriding) some existing file with the same name, but in your specific theme folder (child).

For example, if you create a new theme in folder app/design/frontend/<Vendor>/<theme>/ and declares Magento/blank as a parent theme, theme.xml file and registration.php, you have the entire blank theme structure ready to work in your new theme including RWD layouts and styles.

Let's say that you have a specific CSS available in the <theme_dir>/web/css folder. If you delete this file, the fallback system will search the file in the <parent_theme_dir>/web/css folder:

Magento theme inheritance

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.216.36