Поиск…


Вступление

Мы можем использовать библиотеку корзины покупок CI, когда мы создаем сайт электронной коммерции. мы можем настроить добавление в корзину, обновить элементы корзины, удалить элементы корзины и даже очистить функции тележки, используя эту библиотеку.

Из CodeIgniter Doc: класс Cart позволяет добавлять элементы к сеансу, который остается активным, когда пользователь просматривает ваш сайт. Эти элементы могут быть извлечены и отображены в стандартном формате «корзины покупок», что позволяет пользователю обновлять количество или удалять элементы из корзины.

Добавление элементов в корзину

Вы должны создавать функции в контроллере, такие как вставка, обновление, удаление и очистка корзины и т. Д. Например: для вставки нового элемента в корзину пишите ниже код, который принимает значение.

$cartItem = array(
'id'      => 'MOTOG5',
'qty'     => 5,
'price'   => 100.99,
'name'    => 'Motorola Moto G5 - 16 GB',
'options' => array(
                'ram' => '3GB',
                'Color' => 'Fine Gold'
             )
);

И создавать функции в модели для задач корзины, такие как вставка, обновление, удаление, очистка и т. Д.

например: для вставки предметов в корзину

$this->cart->insert($cartItem);

Метод insert () вернет $ rowid, если вы успешно введете один элемент. так что вы можете проверить, что элемент вставлен или нет, и показать связанное сообщение пользователю.

и вы можете вставить несколько элементов, подобных этому

$data = array(
    array(
            'id'      => 'sku_123ABC',
            'qty'     => 1,
            'price'   => 39.95,
            'name'    => 'T-Shirt',
            'options' => array('Size' => 'L', 'Color' => 'Red')
    ),
    array(
            'id'      => 'sku_567ZYX',
            'qty'     => 1,
            'price'   => 9.95,
            'name'    => 'Coffee Mug'
    ),
    array(
            'id'      => 'sku_965QRS',
            'qty'     => 1,
            'price'   => 29.95,
            'name'    => 'Shot Glass'
    )
);

$this->cart->insert($data);

Основные элементы корзины покупок CI

Поскольку мы можем добавить несколько элементов в массив Cart, а затем добавить их в сеанс тележки, но есть четыре основных элемента, которые класс Cart требует, чтобы данные были успешно добавлены в сеансе тележки.

  1. id (строка)
  2. qty (число)
  3. цена (число, десятичная)
  4. name (String)

И если вы хотите добавить дополнительные опции в отношении продукта, вы можете использовать 5-й элемент, который является «параметрами». вы можете установить массив параметров в этом элементе.

Это будет выглядеть так:

$cartItem = array(
    'id'      => 'MOTOG5',
    'qty'     => 5,
    'price'   => 100.99,
    'name'    => 'Motorola Moto G5 - 16 GB',
    'options' => array(
                    'ram' => '3GB',
                    'Color' => 'Fine Gold'
                 )
);

Показать товары

Вы можете отображать предметы корзины по петле через корзину или вы можете отображать отдельные предметы из корзины.

$cartContents = $this->cart->contents();

Это вернет массив элементов корзины, чтобы вы могли пропустить этот массив с помощью цикла foreach.

 foreach ($cartContents as $items){
     echo "ID : ". $items["id"] . "<br>";
     echo "Name : ". $items["name"] . "<br>";
     echo "Quantity : ". $items["qty"] . "<br>";
     echo "Price : ". $items["price"] . "<br>";
  }

Вы можете отформатировать эти данные как ячейку таблицы или некоторый div, а затем показать их в поле зрения.

Обновить корзину

Rowid: идентификатор строки является уникальным идентификатором, который генерируется кодом корзины, когда элемент добавлен в корзину. Причина, по которой создается уникальный идентификатор, заключается в том, что идентичные продукты с различными параметрами могут управляться тележкой.

Каждый элемент в корзине имеет элемент rowid, а по rowid вы можете обновить элемент корзины.

$updateItem = array(
    'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
    'qty'   => 3
);

а затем под кодом

$this->cart->update($data);

Удалить элементы корзины

Используя элемент rowid, вы можете удалить элемент из корзины. вам просто нужно установить количество элементов в 0

$deleteItem = array(
    'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
    'qty'   => 0
);

$this->cart->update($data);

это приведет к удалению элемента с помощью этого rowid.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow