Dwa sposoby zalecane przez Magento w celu zastąpienia lub rozszerzenia stylów z motywu nadrzędnego:
1. Prosty sposób
Poszerzać:
W swoim katalogu motywów utwórz web/css/source
podkatalog. (Już tę część zrobiłeś) Utwórz tam _extend.less
plik.
Zgodnie z dokumentacją :
„Rozszerzenie motywu za pomocą _extend.less jest najprostszą opcją, gdy jesteś zadowolony ze wszystkiego, co ma motyw nadrzędny, ale chcesz dodać więcej stylów”.
Nadpisanie:
Zamiast tworzyć _extend.less
plik, tworzysz _theme.less
plik. W takim przypadku musisz skopiować wszystkie potrzebne zmienne od rodzica _theme.less
, w tym te, które nie zostaną zmienione. Następnie wprowadź zmiany.
Zgodnie z dokumentacją wadą jest:
„Musisz monitorować i ręcznie aktualizować pliki przy każdej aktualizacji _theme.less rodzica.”
2. Zorganizowany sposób
Poszerzać:
Ta metoda pozwala lepiej uporządkować kod. Twoje zmiany zostaną uporządkowane. Zamiast używać jednego _extend.less
pliku do uwzględnienia wszystkich zmian, tworzysz plik rozszerzenia dla każdego komponentu z biblioteki interfejsu użytkownika Magento, którą chcesz zmienić.
Powiedz, że chcesz rozszerzyć style z przycisków i elementów nawigacyjnych. W katalogu motywów utwórz 2 pliki: _buttons_extend.less
a _navigation_extend.less
następnie dodaj zmiany dla każdego komponentu w odpowiednim pliku.
Następnie tworzysz _extend.less
plik dodając ten kod:
@import '_buttons_extend.less';
@import '_navigation_extend.less';
Nadpisanie:
W swoim tematem, utwórz kopię pliku odpowiadającego komponentu UI chcesz zmienić ( _buttons.less
, _navigation.less
, etc) Ten plik zastąpi _buttons.less
tematu nadrzędnego.
Ważne jest, aby zauważyć różnicę między nadpisywaniem a rozszerzaniem .
Możesz przeczytać więcej o zastępowaniu i rozszerzaniu w tej dokumentacji lub o CSS w Magento 2 w Podręczniku programisty Frontend .
web/css/source/_extend.less
i umieść tam swoje style.Miałem podobny problem z użyciem Foundation. Oficjalnym sposobem na to jest zastąpienie mniejszego pliku określonego modułu i zmodyfikowanie tam css. Zostanie on następnie odebrany przez Magento podczas kompilacji
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
Ostatecznie usunąłem wszystkie domyślne pliki CSS stworzone przez Magento. O wiele łatwiej napisałem niestandardowy CSS, szczególnie przy użyciu frameworka takiego jak Bootstrap, niż próbować przesłonić wszystkie różne moduły. Możesz to zrobić w:
http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-manage.html#layout_markup_css_remove
źródło
Powiedzmy, że chcesz przesłonić styles-m.css , a następnie umieść kopię
web/css
swojego motywu, nazwij go custom-styles-m.css .Następnie użyj tego kodu w swoich motywach default_head_blocks.xml :
źródło