Die zwei von Magento empfohlenen Methoden zum Überschreiben oder Erweitern der Stile eines übergeordneten Themas:
1. Einfacher Weg
Erweitern:
Erstellen Sie in Ihrem Themenverzeichnis ein web/css/source
Unterverzeichnis. (Sie haben diesen Teil bereits erledigt.) Erstellen Sie dort eine _extend.less
Datei.
Laut Dokumentation :
"Das Erweitern eines Themas mit _extend.less ist die einfachste Option, wenn Sie mit allem, was das übergeordnete Thema hat, zufrieden sind, aber weitere Stile hinzufügen möchten."
Überschreiben:
Anstatt die _extend.less
Datei zu erstellen, erstellen Sie eine _theme.less
Datei. In diesem Fall müssen Sie alle benötigten Variablen vom übergeordneten Element kopieren _theme.less
, einschließlich derjenigen, die nicht geändert werden. Nehmen Sie dann Ihre Änderungen vor.
Der Dokumentation zufolge ist der Nachteil:
"Sie müssen Ihre Dateien überwachen und manuell aktualisieren, wenn das _theme.less des Elternteils aktualisiert wird."
2. Strukturierter Weg
Erweitern:
Mit dieser Methode können Sie Ihren Code besser organisieren. Ihre Änderungen werden strukturiert. Anstatt eine einzelne _extend.less
Datei zu verwenden, um alle Ihre Änderungen einzuschließen, erstellen Sie eine Erweiterungsdatei für jede Komponente aus der Magento-UI-Bibliothek, die Sie ändern möchten.
Angenommen, Sie möchten Stile aus Schaltflächen- und Navigationskomponenten erweitern. Erstellen Sie in Ihrem Themenverzeichnis zwei Dateien: _buttons_extend.less
und _navigation_extend.less
fügen Sie dann Ihre Änderungen für jede Komponente in die entsprechende Datei ein.
Dann erstellen Sie die _extend.less
Datei und fügen diesen Code hinzu:
@import '_buttons_extend.less';
@import '_navigation_extend.less';
Überschreiben:
In Ihrem Thema, erstellen Sie eine Kopie der Datei auf die UI - Komponente entspricht , die Sie ändern möchten ( _buttons.less
, _navigation.less
usw.) Diese Datei wird das außer Kraft setzen _buttons.less
der übergeordneten Thema.
Es ist wichtig, den Unterschied zwischen Überschreiben und Erweitern zu beachten .
Weitere Informationen zum Überschreiben und Erweitern in dieser Dokumentation oder zu CSS in Magento 2 finden Sie im Frontend-Entwicklerhandbuch .
web/css/source/_extend.less
und fügen Sie Ihre Stile dort ein.Ich hatte ein ähnliches Problem mit Foundation. Der offizielle Weg, dies zu tun, besteht darin, die weniger Dateien des spezifischen Moduls zu überschreiben und das CSS dort zu ändern. Es wird dann von Magento während der Kompilierung aufgenommen
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
Letztendlich habe ich alle Standard-CSS-Dateien von Magento entfernt. Ich fand es viel einfacher, benutzerdefiniertes CSS zu schreiben, insbesondere mit einem Framework wie Bootstrap, als zu versuchen, alle verschiedenen Module zu überschreiben. Sie können dies tun in:
http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-manage.html#layout_markup_css_remove
quelle
Nehmen wir an, Sie möchten styles-m.css überschreiben , dann die Kopie
web/css
Ihres Themas einfügen und es custom-styles-m.css nennen .Verwenden Sie dann diesen Code in Ihren Designs default_head_blocks.xml :
quelle