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 .