Models_Cart

Описание

Модель: Cart

Класс Models_Cart реализует логику взаимодействия с корзиной товаров.

  • Добавляет товар в корзину;
  • Получает список id продуктов из корзины;
  • Расчитывает суммарную стоимость всех товаров в корзине;
  • Очищает содержимое корзины.
  • Обновляет содержимое корзины.
  • Проверяет корзину на заполненность.
  • Получает данные о всех продуктах в корзине.

Методы класса
bool addToCart() Добавляет товар в корзину.
id alreadyInCart() Сравнивает добавляемый товар с товарами в корзине, если в корзине есть такой же товар с id и его свойства совпадают с текущим, то увеличиваем счетчик иначе просто добавляем новую позицию продукта с выбранными параметрами.
double applyCoupon() Применяет скидку по купону
double applyDiscountSystem() Применяет скидку по системе скидок - накопительная или объемная
void clearCart() Очищает содержимое корзины.
void createProperty() Создает информацию для последующего сохранения свойства для товара положенного в корзину из входящего массива.
void customPrice() Функция возвращает минимальную цену с учетом скидки по купону, объемной и накопительно скидок или если находит пользовательскую функцию обработки цены, возвращает её результат.
bool delFromCart() Удаляет товар из корзины.
array getItemsCart() Возвращает данные о всех продуктах в корзине.
array getListItemId() Возвращает список id продуктов из корзины.
float getTotalSumm() Возвращает суммарную стоимость всех товаров в корзине. deprecated!
bool isEmptyCart() Проверяет корзину на заполненность.
void refreshCart() Обновляет содержимое корзины.
void repairCart() Проверяет целостность корзины.
Описание методов и примеры их использования
public bool addToCart (int $id, [int $count = 1], [ $property = array('property' => '', 'propertyReal' => '')], [ $variantId = null])
  • int $id: id товара.
  • int $count: количество.

Добавляет товар в корзину.

public id alreadyInCart (int $id,  $property, [int $variant = null], int $count)
  • int $id: id товара.
  • int $count: количество.
  • int $variant: id варианта товара.

Сравнивает добавляемый товар с товарами в корзине, если в корзине есть такой же товар с id и его свойства совпадают с текущим, то увеличиваем счетчик иначе просто добавляем новую позицию продукта с выбранными параметрами.

public double applyCoupon (string $code, string $price, [string $product = null])
  • string $code: - код купона товара.
  • string $price: - входящая стоимость.
  • string $product: - информация о продукте.

Применяет скидку по купону

public double applyDiscountSystem (string $price)
  • string $price: - входящая стоимость.

Применяет скидку по системе скидок - накопительная или объемная

public void customPrice ($arFields $arFields, $arFields['product'] 1, $arFields['priceWithCoupon'] 2, $arFields['priceWithDiscount'] 3)
  • $arFields['product'] 1: информация о продукте, включающая оригинальную цену.
  • $arFields['priceWithCoupon'] 2: цена с примененной скидкой по купону.
  • $arFields['priceWithDiscount'] 3: цена с примененной накопительной или объемной скидкой.
  • $arFields $arFields: массив данных, которые можно использовать для формирования своей цены:

Функция возвращает минимальную цену с учетом скидки по купону, объемной и накопительно скидок или если находит пользовательскую функцию обработки цены, возвращает её результат.

public bool delFromCart (int $id,  $property,  $variantId)
  • int $id: id товара.

Удаляет товар из корзины.

public void refreshCart (array $arr)
  • array $arr: массив продуктов в корзине.

Обновляет содержимое корзины.

public void repairCart ()

Проверяет целостность корзины.

Необходимо, когда был удален один из продуктов из БД, но у пользователя в куках остался ID продукта