Nous permet de créer un thème enfant afin que tous nos thèmes personnalisés dans Magento 2 se trouvent ici:
app / design / frontend / nom_entreprise / nom_thème
Supposons que le nom de notre société est mycompany et que le nom de notre thème soit basique. Nous devons créer la structure de répertoires suivante pour notre thème:
app
└────design
└──────frontend
└──mycompany
└───basic
└──etc
└──Magento_Theme
│ └─layout
│ default.xml
└──media
│ preview.png
└──web
│ └─css
│ └─fonts
│ └─images
│ └─js
│ theme.xml
│ registration.php
mon entreprise :-
Le nom du package thématique
basique: -
Le nom du thème. Nous pouvons avoir plusieurs thèmes nommés dans le dossier mycompany.
etc / view.xml: -
Ce fichier est utilisé pour spécifier les dimensions de l'image du produit, les vignettes, etc.
Magento_Theme: -
Ce répertoire est utilisé pour remplacer les fichiers de thème de Magento existants.
Magento_Theme / layout / default.xml: -
Par défaut, Magento2 suppose que le fichier de logo de votre thème doit être: /web/media/logo.svg
Si vous voulez un autre fichier pour le logo, vous devez le déclarer dans le default.xml
fichier.
Ce fichier est également utilisé pour remplacer les paramètres du thème par défaut.
media / preview.png: -
L'aperçu du thème actuel.
web: -
Ce répertoire contient toutes les données statiques du thème comme les images, les styles, le javascript, les polices, etc.
registration.php: -
Ce fichier est requis pour enregistrer notre thème sur le système Magento2.
theme.xml: -
Il s'agit d'un fichier obligatoire qui définit le nom de notre thème, son parent et éventuellement l'image d'aperçu du thème.
Création de fichiers de thème
Créons maintenant nos fichiers un par un.
theme.xml (app / design / frontend / mycompany / basic / theme.xml)
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
<title>Basic</title> <!-- your theme's name -->
<parent>Magento/blank</parent> <!-- the parent theme -->
<media>
<preview_image>media/preview.jpg</preview_image> <!-- theme's preview image -->
</media>
</theme>
registration.php (application / design / frontend / mycompany / basic / registration.php)
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::THEME,
'frontend/mycompany/basic',
__DIR__
);
default.xml (app / design / frontend / mycompany / basic / Magento_Theme / layout / default.xml)
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="logo">
<arguments>
<argument name="logo_file" xsi:type="string">images/my_logo.png</argument>
<argument name="logo_img_width" xsi:type="number">200</argument>
<argument name="logo_img_height" xsi:type="number">200</argument>
</arguments>
</referenceBlock>
</body>
</page>
À ce stade, notre thème est prêt. Videz votre cache et nous allons maintenant sélectionner notre nouveau thème depuis admin.
Maintenant, connectez-vous à admin et passez au chemin suivant:
Content -> Design -> Themes
Vous devriez voir votre thème répertorié.
Allez maintenant à:
Stores -> Configuration -> Design
Choisissez le site Web principal devant la vue du magasin en haut à gauche. Cliquez maintenant
Desgin -> Design Theme
Décochez la case Utiliser par défaut et choisissez votre thème. Cliquez sur Enregistrer la configuration, videz votre cache et votre nouveau thème est prêt. Vérifiez votre page d'accueil.
Pour plus de détails, voir ici.