我正在为magento2中的支付方式开发自定义模块。目前我正在使用供应商目录中的 cc-form.html ,模块工作正常。见下面的路径。
供应商/的magento /模块付款/视图/前端/网络/模板/支付/ CC-form.html
有没有办法覆盖html文件?
任何帮助将不胜感激。谢谢!
答案 0 :(得分:15)
是的,有。您可以在pub static中查看如何构建静态资产的路径。
每个资产都可以通过enter code here
的“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 ID是
Magento_Payment/template/payment/cc-form.html
附注:在UI组件内部,它等于Magento_Payment/payment/cc-form
。单词“template”和“.html”会自动添加。
现在您可以通过RequireJS config
替换此文件以进行申请var config = {
"map": {
"*": {
"Magento_Payment/template/payment/cc-form.html":
"<OwnBrand>_<OwnModule>/template/payment/cc-form.html"
}
}
};
此代码段放在模块中的requirejs-config.js
文件中。就是这样。