Saya tahu cara menggunakan require-config.js
dalam tema khusus, tetapi saya ingin menggunakan file javascript khusus ( myfile.js
) di semua halaman. Di direktori mana saya harus menambahkan require-config.js
dan bagaimana menggunakannya, sehingga akan berfungsi sebagaimana mestinya?
Tolong, jangan merujuk ke halaman Resmi Magento.
magento2
javascript
requirejs
Anitr
sumber
sumber
Jawaban:
requirejs-config.js
gunakan untuk membuat pemetaan sumber daya JavaScript . Kita dapat menemukan semua memerlukan konfigurasi di bawah:pub/static/_requirejs
.Sejauh yang saya tahu, cara yang benar untuk memuat skrip khusus kami melalui Persyaratan Js: menggunakan template untuk memanggil skrip kami . Kami akan membuat template baru dengan
Magento\Framework\View\Element\Template
kelas bloknya.Jika kami ingin memuat file js di semua halaman dan tidak ingin membuat modul baru, blok kami harus merujuk ke
before.body.end
atauafter.body.start container
didefault.xml
- modul Tema Magento.app / design / frontend / Vendor / Theme / Magento_Theme / layout / default.xml
aplikasi / desain / antarmuka / Vendor / Tema / requireejs-config.js
aplikasi / desain / antarmuka / Vendor / Tema / Magento_Theme / web / js / customscript.js
Template kami akan memanggil skrip kami: app / design / frontend / Vendor / Theme / Magento_Theme / templates / custom_js.phtml
Hapus Magento Cache dan jalankan penyebaran konten statis:
php bin/magento setup:static-content:deploy
sumber
\app\design\frontend\Enim\blank\Magento_CatalogWidget\templates\product\widget\content\grid.phtml
, tetapi saya memiliki requireejs-config.js dan skrip di folder Theme (app / design / frontend / Vendor / Theme / requireejs-config.js). Apakah ini ok? Masalahnya adalah saya memanggil skrip saya dari berbagai tempat.templates\product\widget\content\grid.phtml
dipanggil.custom_js.phtml
diperlakukan sebagai panggilan balik biasa, dilakukan setelah eksekusi kode yang terkandung di dalamnyacustomscript.js
? Atau apakah saya perlu menjalankan kode yang dinyatakancustomscript.js
dari dalam fungsi dicustom_js.phtml
?after.body.start
harus diubahbefore.body.end
?File Requirejs-config: app / code / Vendor / Module / view / frontend / requireejs-config.js
File js Anda harus di: app / code / Vendor / Module / view / frontend / web / js / myfile.js
Sekarang Anda dapat menggunakan di mana saja dalam file template Anda dengan metode di bawah ini:
sumber
Ada versi yang lebih mudah digunakan
deps
. Ketergantungan pada requirejs-config.js akan memuat file Anda saat memuat requirejs sendiri (di mana-mana di toko). Berikut ini adalah contoh bagaimana seharusnya requirejs-config.js Anda :sumber
Sebagai pendekatan alternatif untuk rekomendasi Khoa, yang merupakan praktik dev Magento yang sangat baik, Anda dapat menempelkan JavaScript di file .phtml seperti ini:
Kemudian tautkan file phtml Anda dari default.xml seperti yang dijelaskan dalam jawaban Khoa, meskipun saya akan merekomendasikan untuk menambahkannya ke before.body.end. Dan, panggil skrip JS Anda dari dalam copyright.phtml , seperti ini:
copyright.phtml dimuat di setiap halaman, bahkan di halaman seperti checkout, tempat footer dihilangkan.
sumber