Syliusの一般的なテーマを私のカスタムテーマで上書きしています。 app/themes/myCustomTheme
に新しいテーマを作成し、上書きしています。小枝のテンプレートは/SyliusShopBundle/views/
です。Sylius:app.jsの変更/カスタマイズ方法
vendor/sylius/sylius/src/Sylius/Bundle/ShopBundle/Resources/private/js/
にある一般を上書きしたいと思います。例えば。代わりに、ライン18上:
$('.ui.accordion').accordion();
私はアコーディオンを初期化するために別のセレクターを使用したい:
$('.my-custom-accordion').accordion();
これは私が全体のJavaScriptコードでやりたいだけの変更であると仮定します。これを行う最も効率的な方法は何ですか?私はSyliusのバージョンが更新されているので、できるだけ少ないファイルに触れるときに、できるだけ最小限の競合を起こしたいと思っています。もちろん、JavaScriptの機能全体を自分で書き直す必要はありません。
私はこの作業を行うための別の方法を考えることができますが、私は1つでも良くあります願っています:
- がすべてを複製します。
UiBundle
&ShopBundle
JavaScriptコードを自分のテーマにコピーし、必要な部分を修正してください。グローバルgulpファイルを更新し、gulpfileをvendor/sylius/sylius/src/Sylius/Bundle/ShopBundle/Gulpfile.js
で使用しなくなり、代わりに複製された1つの/myCustomTheme/SyliusShopBundle/Gulpfile.js
を使用します。欠点:コードが重複し、javascriptの更新ができなくなりました。 - 既存のgulpfileにカスタムパスを追加します。 のgulpファイルを更新します。つまり、
app.js
:vendorShopPath + 'Resources/private/js/**'
を含む行を削除し、を含まないすべての単一ファイルを参照し、自分のテーマフォルダのapp.js
を参照します。欠点:gulpfileへの変更は、おそらく次回の更新で上書きされます。
Syliusの既存のJavaScriptコードを効率的に変更/カスタマイズ/拡張するにはどうすればよいですか?
ありがとうございました!正しく理解していれば、既存のapp.jsの上にカスタムapp.jsの追加機能が追加されています。あなたのワークフローは、私が追加のjavascriptを追加したい場合には良い解決策だと思われますが、既存のものを更新/修正したいのですが? – chaenu
sylius 'jsで使用されているのと同じ関数名を使用する場合は、それらの関数を上書き/置き換えるよりも。 誰かがいる場合、私はより良いアイデアのために開いています。 –