Karena Magento2 menggunakan RequireJS untuk memuat skrip, dan tidak ada lagi folder skin , saya mengalami masalah:
Bagaimana saya bisa mengganti file JS modul Magento dengan versi modifikasi saya?
Misalnya - opc-checkout-method.js yang dimiliki oleh ekstensi Magento_Checkout. Itu tidak didefinisikan dalam file requireejs-config.js, sejauh yang saya bisa lihat.
Ekstensi saya dimuat setelah Magento_Checkout , sehingga data requireejs-config.js ditambahkan di akhir hasil file needsejs-config.
Atau haruskah saya melakukannya dengan cara lain, tanpa mengganti seluruh skrip?
javascript
overrides
magento2
requirejs
DmitryR
sumber
sumber
Jawaban:
Tidak ada lagi folder skin tetapi Anda masih bisa menggunakan tema.
Sebagai bukti konsep saya menggunakan Anda contoh dengan
op-checkout-method.js
dan ini ini.Prasyarat:
pub/static
folder (hapus folder pub / static / frontend)Tindakan:
op-checkout-method.js
file dari lokasi modulapp/code/Magento/Checkout/view/frontend/web/js/opc-checkout-method.js
ke tema kosongapp/design/frontend/Magento/blank/Magento_Checkout/web/js/opc-checkout-method.js
console.log('something')
ataualert('something')
dalam_create
fungsimage.opcCheckoutMethod
widget.Hasil:
Info Terkait:
Jika saya menjalankan dari cli
php dev/tools/Magento/Tools/View/deploy.php
(skrip yang menerbitkan sumber daya statis) file js baru saya akan ditempatkan dipub/static/frontend/Magento/blank/en_US/Magento_Checkout/js/opc-checkout-method.js
[EDIT]
Saya menemukan cara untuk melakukannya melalui modul.
Di
[Namespace]/[Module]/view/frontend/requirejs-config.js
tambahkan ini:Kemudian buat file
[Namespace]/[Module]/view/frontend/web/js/opc-checkout-method.js
dengan konten Anda.Untuk keperluan pengujian saya mengkloning file asli dan hanya menambahkan lagi
console.log
dalam_create
fungsi.Juga ingat untuk membuat ulang sumber daya publik untuk frontend.
sumber
Inilah dokumen resmi tentang memperluas / mengganti komponen JS default: http://devdocs.magento.com/guides/v2.0/javascript-dev-guide/javascript/custom_js.html
Umpan balik diterima!
sumber