Magento2覆盖现有的JS组件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Magento2覆盖现有的JS组件相关的知识,希望对你有一定的参考价值。

我想重写现有的magento2 JS组件在我的主题为更多的定制。

Magento_Checkout/js/view/minicart.js

上述JS组件我要重写,我想添加删除按钮事件更多操作。

答案

你可以试试“地图”的要求JS。我用这一点,并为我工作。以下是我的主题里面的requirejs-config.js。

var config = {
    map: {
        '*': {
            'Magento_Checkout/js/view/minicart':'js/custom/minicart'
        }
    }
};

修改minicart.js文件被放置在我的主题中“网络/ JS /自定义”文件夹中。

另一答案

就到你的主题覆盖Magento_Checkout那里,那么网络文件夹下使路径相同的核心模块,然后添加你的js文件和做必要的更改。这将反映在前端。

另一答案

您也可以在没有你的模块中覆盖整个文件扩展现有的Magento JS添加要求,config.js

app/code/MyVendor/MyModule/view/frontend/requirejs-config.js

var config = {
    config: {
        mixins: {
            'Magento_Checkout/js/view/minicart': {
                'MyVendor_MyModule/js/minicart': true
            }
        }
    }
};

然后添加minicart.js

app/code/MyVendor/MyModule/view/frontend/web/js/minicart.js

define([], function () {
    'use strict';

    return function (Component) {
        return Component.extend({

            /**
             * @override
             */
            initialize: function () {
                var self = this;

                return this._super();
            },
            MyCustomFunction: function () {
                return "my function";
            }
        });
    }
});

以上是关于Magento2覆盖现有的JS组件的主要内容,如果未能解决你的问题,请参考以下文章

如何覆盖现有的 react-native 原生组件

使用 Jetpack 的 Android 导航组件销毁/重新创建的片段

如何使用 If Not File.Exists 覆盖现有的 XML 文件

Magento2开发教程 - 如何向数据库添加新表

在 Magento 2.3.4 中单击编辑产品时出现 ComponentType 错误

如何在没有消息的情况下保存/覆盖现有的 Excel 文件