【问题标题】:magento 2 javascript how to getCustomerDatamagento 2 javascript如何获取客户数据
【发布时间】:2021-08-30 08:41:48
【问题描述】:

我想根据 customerData 在 minicard 中显示一些自定义信息。所以我在适当的子主题位置找到了 minicard.js 副本。

现在要获取客户数据,我使用 'Magento_Customer/js/customer-data' 女巫已经在 minicard.js 中。

initialize 函数内部我运行代码如下:

        var customer = customerData.get('customer');
        console.log('customer', customer().firstName);

这会在每个页面上返回 undefined。但是,在结帐页面上,我只需调用 window.customerData 即可获取 customerData。所以问题是我如何才能在每个页面上获取 customerData,为什么现在即使在我的结帐页面上 customerData.get('customer'); 也是空的。

【问题讨论】:

    标签: magento2 customer


    【解决方案1】:

    你可以使用:

    'Magento_Customer/js/model/customer'

    喜欢这个例子得到名字+姓氏

    define([
        'jquery',
        'uiComponent',
        'Magento_Customer/js/model/customer'
    ], function ($, Component, customer) {
        'use strict';
    
        return Component.extend({
    
            customerData: customer.customerData,
    
            defaults: {
                template: 'Vendor_Module/customer-information'
            },
    
            /**
             * @return {Boolean}
             */
            isVisible: function () {
                return true;
            },
    
            /**
             * @return {String}
             */
            getFullName: function () {
                return this.customerData.firstname + ' ' + this.customerData.lastname;
            }
        });
    });
    

    【讨论】:

    • 我通过在客户数据中创建自定义部分来解决。比我加载它customerSection.get('name)
    猜你喜欢
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    相关资源
    最近更新 更多