Так, є. Ви можете подивитися в статичній пабі, щоб побачити, як будується шлях до статичного активу.
Як це працює
Кожен актив доступний зі сторінки за допомогою enter code here
s "RequireJS ID". Він схожий на реальний шлях, але різноманітний.
Наприклад файл
http://magento.vg/static/adminhtml/Magento/backend/en_US/Magento_Theme/favicon.ico
.
Це справжній шлях
/app/code/Magento/Theme/view/adminhtml/web/favicon.ico
. Це ідентифікатор RequireJS є Magento_Theme/favicon.ico
. Це означає, що до файлу можна отримати доступ через require("text!Magento_Theme/favicon.ico")
або подібну команду.
Ви можете виявити, що ідентифікатор RequireJS складається з назви модуля та корисної частини шляху (після папки web
).
Як я можу замінити файл
Отже, у вас є файл
vendor/magento/module-payment/view/frontend/web/template/payment/cc-form.html
На сторінці він завантажений src як
http://magento.vg/static/frontend/Magento/luma/en_US/Magento_Payment/template/payment/cc-form.html
Отже, його ідентифікатор RequireJS є
Magento_Payment/template/payment/cc-form.html
Бічна примітка: Всередині компонентів інтерфейсу інтерфейс, яким він дорівнює
Magento_Payment/payment/cc-form
. Слова "шаблон" та ".html" додаються автоматично.
Тепер ви можете замінити цей файл для програми через конфігурацію RequireJS
var config = {
"map": {
"*": {
"Magento_Payment/template/payment/cc-form.html":
"<OwnBrand>_<OwnModule>/template/payment/cc-form.html"
}
}
};
Цей фрагмент коду, який ви розміщуєте у requirejs-config.js
файлі у своєму модулі. Це все.
Можливо, це допоможе комусь зрозуміти, як це відбувається.