Answers:
工作解决方案。
只需从以下路径创建或编辑requirejs-config.js文件。
/app/code/Namespace/Module/view/frontend/requirejs-config.js
并将以下代码放在requirejs-config.js中
var config = {
map: {
'*': {
'Magento_Payment/template/payment/cc-form.html':
'Namespace_Module/template/payment/cc-form.html'
}
}
};
因此,我们可以用这种方式覆盖任何html文件。
您可以仅在主题付款模块中添加cc-form.html文件。
<mage_dir>/app/design/frontend/{Package}/{themename}/Magento_Payment/web/template/payment/cc-form.html
您可以根据需要在上述位置进行更改。
从根目录删除var文件夹并删除pub/static/frontend
文件夹。
您必须具有运行命令 php bin/magento setup:static-content:deploy
清除浏览器缓存并检查。
接受的解决方案是正确的,但是我在这里从“堆栈溢出”中复制了完整的@AntonGuz答案(解释得很好):
就在这里。您可以在pub static中查看以了解构造静态资产的路径。
怎么运行的
每个资产
enter code here
的“ RequireJS ID” 都可以从页面访问。它与真实路径相似,但变化多样。例如file
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由模块名称和路径的有用部分(在folder之后
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
模块中的文件中。就这些。
也许它将帮助人们理解它的发生。
我不知道需要哪个版本的Magento2,但是如果您要覆盖Magento_Ui模块中的模板,则需要提供如下路径:
var config = {
map: {
"*": {
'ui/template/form/element/select.html':'Vendor_Module/templates/form/element/select.html'
}
}
};
因为在此文件中:
供应商/magento/module-ui/view/base/requirejs-config.js
有路径映射:
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
var config = {
paths: {
'ui/template': 'Magento_Ui/templates'
},
map: {
'*': {
uiElement: 'Magento_Ui/js/lib/core/element/element',
uiCollection: 'Magento_Ui/js/lib/core/collection',
uiComponent: 'Magento_Ui/js/lib/core/collection',
uiClass: 'Magento_Ui/js/lib/core/class',
uiEvents: 'Magento_Ui/js/lib/core/events',
uiRegistry: 'Magento_Ui/js/lib/registry/registry',
consoleLogger: 'Magento_Ui/js/lib/logger/console-logger',
uiLayout: 'Magento_Ui/js/core/renderer/layout',
buttonAdapter: 'Magento_Ui/js/form/button-adapter'
}
}
};