PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Monday, August 22, 2022

[FIXED] How to override an HTML file in a custom module

 August 22, 2022     magento2     No comments   

Issue

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?


Solution

Yes, there is. You can look in pub static to see how path to static asset constructed.

How it works

Every asset is accessible from the page by itenter code heres "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).

How can I replace a file

So you have file
vendor/magento/module-payment/view/frontend/web/template/payment/cc-form.html

On the page it loaded with src as
http://magento.vg/static/frontend/Magento/luma/en_US/Magento_Payment/template/payment/cc-form.html

So its RequireJS ID is
Magento_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.



Answered By - Anton Guz
Answer Checked By - Mary Flores (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing