Les 2 façons recommandées par Magento pour remplacer ou étendre les styles à partir d'un thème parent:
1. Un moyen simple
Étendre:
Dans votre répertoire de thèmes, créez un web/css/source
sous-répertoire. (Vous avez déjà fait cette partie) Créez un _extend.less
fichier là-bas.
Selon la documentation :
"L'extension d'un thème à l'aide de _extend.less est l'option la plus simple lorsque vous êtes satisfait de tout ce que contient le thème parent, mais que vous souhaitez ajouter plus de styles."
Passer outre:
Au lieu de créer le _extend.less
fichier, vous créez un _theme.less
fichier. Dans ce cas, vous devez copier toutes les variables dont vous avez besoin à partir du parent _theme.less
, y compris celles qui ne seront pas modifiées. Effectuez ensuite vos modifications.
Selon la documentation , l'inconvénient est:
"Vous devez surveiller et mettre à jour manuellement vos fichiers chaque fois que le _theme.less du parent est mis à jour."
2. Manière structurée
Étendre:
Cette méthode vous permet de mieux organiser votre code. Vos modifications seront structurées. Au lieu d'utiliser un seul _extend.less
fichier pour inclure toutes vos modifications, vous créez un fichier d'extension pour chaque composant de la bibliothèque d'interface utilisateur Magento que vous souhaitez modifier.
Disons que vous souhaitez étendre les styles à partir des boutons et des composants de navigation. Dans votre répertoire thématique créer 2 fichiers: _buttons_extend.less
et _navigation_extend.less
, puis ajouter vos modifications pour chaque composant dans le fichier correspondant.
Ensuite, vous créez le _extend.less
fichier en ajoutant ce code:
@import '_buttons_extend.less';
@import '_navigation_extend.less';
Passer outre:
Dans votre thème, créez une copie du fichier correspondant au composant de l' interface utilisateur que vous souhaitez modifier ( _buttons.less
, _navigation.less
, etc.) Ce fichier remplacera le _buttons.less
du thème parent.
Il est important de noter la différence entre remplacer et étendre .
Vous pouvez en savoir plus sur la substitution et l'extension dans cette documentation ou sur CSS dans Magento 2 dans le Guide du développeur frontal .
web/css/source/_extend.less
et d'y mettre vos styles.J'ai eu un problème similaire en utilisant Foundation. La façon officielle de le faire est de remplacer le fichier less du module spécifique et d'y modifier le CSS. Il sera ensuite récupéré par Magento lors de la compilation
http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/debug-theme.html#debug-theme-style
http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/css-topics/css-preprocess.html
Finalement, j'ai fini par supprimer tous les fichiers CSS par défaut créés par Magento. J'ai trouvé qu'il était beaucoup plus facile d'écrire du CSS personnalisé, en particulier en utilisant un framework comme Bootstrap, que d'essayer de remplacer tous les différents modules. Vous pouvez le faire dans:
http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-manage.html#layout_markup_css_remove
la source
Disons que vous voulez remplacer styles-m.css , puis mettez la copie
web/css
de votre thème, nommez -la custom-styles-m.css .Utilisez ensuite ce code dans vos thèmes default_head_blocks.xml :
la source