Есть уже готовый код для добавления товаров в localStorage и последующей их отрисовки на странице. Но понадобилось добавить количество товара, а как эт правильно реализовать не могу понять. Точнее, понимаю, что через список, скорее всего, но со списками дружить не получается. Добавляется id товара в localStorage посредством нажатия кнопки.
1) php-файл с кнопкой:
<button class="k"><a class="product_link_id" data-id="<?php echo $product->ID?>">Купить</a></button>
По нажатию, в localStorage отправляется ID товара из БД. В localStorage появляется массив со значением: "key" - ["1"]. Добавлю ещё товар, получится: "key" - ["1", "2",...].
2) js-файл с функцией добавления ID'шника в lS:
let count;
if (localStorage.getItem('products') && localStorage.getItem('products') != 0) {
count = JSON.parse(localStorage.getItem('products'))
} else {
count = []
}
this.keyName = 'products';
// Получаю ID'шник кнопки.
document.querySelector('.product_link_id').onclick = () => {
getItemId(event.target.dataset.id);
}
// Убираю object Object из localStorage
localStorage.setItem(this.keyName, JSON.stringify(count));
id = JSON.parse(localStorage.getItem(this.keyName));
// Добавление товара в корзину
const getItemId = id => {
count.push(id);
let Duplic = [];
count.forEach((element) => {
if (!Duplic.includes(element)) {
Duplic.push(element);
}
});
console.log(localStorage.setItem(this.keyName, JSON.stringify(Duplic))); //id
}
В каком моменте нужно создавать список с ID и его количеством? И как правильно это делается?