Недавно перешел на ооп и делаю корзину для сайта. Нашел корзину тут -
Корзина
С куками еще не сильно знаком и в целом с ООП. Но хочется разобраться.
Есть класс Cart, в котором существуют 2 метода, отвечающих за товары
public function getItems($for_sql = false)
{
if ($for_sql) {
return implode(',', $this->items);
}
return $this->items;
}
public function addItem($id)
{
$id = (int)$id;
$key = array_search($id, $this->items);
if (!in_array($id, $this->items)) {
array_push($this->items, $id);
}
Cookie::set('items', serialize($this->items));
}
А в файле cart.php я вывожу таким способом:
echo "My cart: <br>";
foreach ($items as $items) {
echo "<b>{$items['name']}</b> | Количество " .count($items['id']). " | <a href='cart.php?action=delete&id={$items['id']}'>Удалить из корзины</a><br>";
Пытался вывести количество повторных id через count, но также безуспешно. Поэтому прошу помощи Как сделать следующее:
- Как сложить количество товара, если этот товар уже добавлен к корзину? На данный момент только 1 раз товар добавляется, а дальше количество этого товара не добавляется( + 1 к количеству)
- Как вывести общую сумму, используя этот класс корзины?
Пытался добавить в метод addItem($id) функцию array_key_exists(), но безуспешно. Количество не складывается.
UPD. результат для webinar - prntscr.com/eeq1jc