親テーマのスタイルをオーバーライドまたは拡張するためにMagentoが推奨する2つの方法:
1.簡単な方法
延長:
テーマディレクトリにweb/css/source
サブディレクトリを作成します。(この部分はすでに完了してい_extend.less
ます)そこでファイルを作成します。
ドキュメントによると:
「_extend.lessを使用してテーマを拡張することは、親テーマのすべてに満足しているが、さらにスタイルを追加したい場合に最も簡単なオプションです。」
オーバーライド:
_extend.less
ファイルを作成する代わりに、ファイルを作成し_theme.less
ます。この場合_theme.less
、変更されないものも含め、必要なすべての変数を親からコピーする必要があります。次に、変更を加えます。
ドキュメントによると、欠点は次のとおりです。
「親の_theme.lessが更新されるたびに、ファイルを監視して手動で更新する必要があります。」
2.構造化された方法
延長:
この方法では、コードをより適切に整理できます。変更が構造化されます。単一の _extend.less
ファイルを使用してすべての変更を含めるのではなく、変更するMagento UIライブラリから各コンポーネントの拡張ファイルを作成します。
ボタンとナビゲーションコンポーネントからスタイルを拡張したいとします。テーマディレクトリに2つのファイルを作成します:_buttons_extend.less
および_navigation_extend.less
、次に、各コンポーネントの変更を対応するファイルに追加します。
次に_extend.less
、このコードを追加してファイルを作成します。
@import '_buttons_extend.less';
@import '_navigation_extend.less';
オーバーライド:
あなたのテーマでは、あなたが(変更したいUIコンポーネントに対応するファイルのコピーを作成し_buttons.less
、_navigation.less
など、)このファイルは上書きされます_buttons.less
、親テーマのを。
overrideとextendの違いに注意することが重要です。
このドキュメントのオーバーライドと拡張の詳細、またはフロントエンド開発者ガイドの Magento 2のCSSについて詳しく読むことができます。