I am developing a custom module for a payment method in magento 2. Currently I am using cc-form.html from the vendor directory and the module is working fine. see below path.
vendor/magento/module-payment/view/frontend/web/template/payment/cc-form.html
Is there any way to override the HTML file?
Yes, there is. You can look in pub static to see how path to static asset constructed.
Every asset is accessible from the page by itenter code here
s "RequireJS ID". It similar to real path, but varied.
For example file http://magento.vg/static/adminhtml/Magento/backend/en_US/Magento_Theme/favicon.ico
.
It's real path is /app/code/Magento/Theme/view/adminhtml/web/favicon.ico
.
It's RequireJS ID is Magento_Theme/favicon.ico
. This means that file could be accessible via require("text!Magento_Theme/favicon.ico")
or similar command.
You can find that RequireJS ID consist with module name and useful part of path (after folder web
).
So you have filevendor/magento/module-payment/view/frontend/web/template/payment/cc-form.html
On the page it loaded with src ashttp://magento.vg/static/frontend/Magento/luma/en_US/Magento_Payment/template/payment/cc-form.html
So its RequireJS ID isMagento_Payment/template/payment/cc-form.html
Side note: Inside UI components stuff it equals to Magento_Payment/payment/cc-form
. Words "template" and ".html" are added automatically.
And now you can replace this file for application via RequireJS config
var config = {
"map": {
"*": {
"Magento_Payment/template/payment/cc-form.html":
"<OwnBrand>_<OwnModule>/template/payment/cc-form.html"
}
}
};
This code snippet you place in requirejs-config.js
file in your module. That is all.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With