Так, є. Ви можете подивитися в статичній пабі, щоб побачити, як будується шлях до статичного активу.
Як це працює
Кожен актив доступний зі сторінки за допомогою enter code heres "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файлі у своєму модулі. Це все.
Можливо, це допоможе комусь зрозуміти, як це відбувається.