Here is the function in minicart.js

getCartItems: function () {
            var items = this.getCartParam('items') || [];
            console.log(items);
            // want to get product id from items here
            items = items.slice(parseInt(-this.maxItemsToDisplay, 10));
            return items;
        }

Items are showing JSON array in console with all mini cart items data. But I am not able to get only product IDs from that.

Does anyone have any idea for the same?

Thanks!

有帮助吗?

解决方案

You can use undescore each function to get product id from items.

_.each(items, function (item, key) {
    console.log(item.product_id);
}, this);

So you final code looks like:

define([
    'uiComponent',
    'jquery',
    'underscore'
], function (Component, $, _) {

    ...
    ...

    getCartItems: function () {
        var items = this.getCartParam('items') || [];

        _.each(items, function (item, key) {
            console.log(item.product_id);
        }, this);

        items = items.slice(parseInt(-this.maxItemsToDisplay, 10));

        return items;
    },

    ...
    ...
}
许可以下: CC-BY-SA归因
scroll top