Magento рекомендует 2 способа переопределения или расширения стилей родительской темы:
1. Простой способ
Расширение:
В каталоге вашей темы создайте web/css/source
подкаталог. (Вы уже сделали эту часть) Создайте _extend.less
файл там.
Согласно документации :
«Расширение темы с помощью _extend.less - самый простой вариант, когда вы довольны всем, что есть в родительской теме, но хотите добавить больше стилей».
Override:
Вместо того, чтобы создавать _extend.less
файл, вы создаете _theme.less
файл. В этом случае вам нужно скопировать все необходимые переменные из родительского _theme.less
, включая те, которые не будут изменены. Затем внесите свои изменения.
Согласно документации , недостатком является:
«Вам нужно отслеживать и обновлять свои файлы вручную каждый раз, когда обновляется _theme.less».
2. Структурированный способ
Расширение:
Этот метод позволяет вам организовать ваш код лучше. Ваши изменения будут структурированы. Вместо того чтобы использовать один _extend.less
файл для включения всех ваших изменений, вы создаете файл расширения для каждого компонента из библиотеки пользовательского интерфейса Magento, которую вы хотите изменить.
Допустим, вы хотите расширить стили от кнопок и компонентов навигации. В каталоге вашей темы создайте 2 файла: _buttons_extend.less
и _navigation_extend.less
затем добавьте свои изменения для каждого компонента в соответствующий файл.
Затем вы создаете _extend.less
файл, добавляя этот код:
@import '_buttons_extend.less';
@import '_navigation_extend.less';
Override:
В вашей теме, создать копию файла , соответствующий компонент пользовательского интерфейса вы хотите изменить ( _buttons.less
, _navigation.less
, и т.д.) Этот файл будет переопределение _buttons.less
родительской темы.
Важно отметить разницу между переопределением и расширением .
Вы можете прочитать больше о переопределении и расширении в этой документации или о CSS в Magento 2 в Руководстве разработчика Frontend .