Переопределить HTML-файл в пользовательском модуле - magento2
Я разрабатываю пользовательский модуль для метода оплаты в magento2. В настоящее время я использую cc-form.html из каталога поставщика и модуль работает нормально. смотрите ниже путь.
продавец / Magento / модуль оплата / вид / интерфейс / веб / шаблон / оплаты / куб.см-form.html
Есть ли способ переопределить HTML-файл?
Любая помощь будет оценена. Спасибо!
1 ответ
Да, есть. Вы можете посмотреть в пабе static, чтобы увидеть, как строится путь к статическому ресурсу.
Как это устроено
Каждый актив доступен со страницы им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 ID Magento_Theme/favicon.ico
, Это означает, что файл может быть доступен через require("text!Magento_Theme/favicon.ico")
или аналогичная команда.
Вы можете обнаружить, что RequireJS ID состоит из имени модуля и полезной части пути (после папки 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 IDMagento_Payment/template/payment/cc-form.html
Примечание: внутри компонентов пользовательского интерфейса оно равно Magento_Payment/payment/cc-form
, Слова "template" и ".html" добавляются автоматически.
И теперь вы можете заменить этот файл для приложения через конфигурацию RequireJS
var config = {
"map": {
"*": {
"Magento_Payment/template/payment/cc-form.html":
"<OwnBrand>_<OwnModule>/template/payment/cc-form.html"
}
}
};
Этот фрагмент кода вы помещаете в requirejs-config.js
файл в вашем модуле. Это все.