Я хочу сохранить только промежуточную сумму корзины в моем локальном хранилище. Я использую GTM для вызова события добавления в корзину и получения цены, которая была добавлена в корзину. Оттуда я хочу просто обновить эту цену или создать стоимость корзины, которая обновляется каждый раз, когда добавляется другой товар. Как только я понял функцию добавления, я могу легко заполнить пробелы, когда что-то удалено или кол-во обновлено.
// this is the GTM call to track what the price is when the add to cart button is pushed
var pr = {{DL - Add To Cart}};
// Store product price in localStorage
localStorage.setItem('price', pr.price);
С вышеизложенным у меня нет проблем. Я получаю цену, которая отображается при каждом добавлении товара. Ниже приведен код, с которым я работаю, чтобы обновить цену при добавлении каждой дополнительной цены. Основная проблема, которую я пытаюсь обойти, состоит в том, что я слишком усложнил отображение корзины в {[]}, и вместо этого я хочу, чтобы она отображалась так же, как приведенный выше код ('цена', pr.price) показывает столь простое число .
var addItem = function (price) {
var oldItems = JSON.parse(localStorage.getItem('cartvalue')) || [] ;
var match = oldItems.find(function (item) {
return item['price'] = price;
});
if (match) {
match['price'] += price;
} else {
var newItem = {
'price': price,
};
oldItems.push(newItem);
}
localStorage.setItem('cartvalue', JSON.stringify(oldItems));
};
addItem(pr.price);