Успешно създадох просто уеб приложение с количка.
Сега трябва да приложа някои специални оферти.
Пример 1: ако клиентът е добавил 2 броя от някакъв продукт - вторият брой трябва да струва 30% по-малко.
Пример 2: ако клиент добави продукт_1 и продукт_2 - тогава трябва да добавя продукт 3 безплатно.
Няма проблем с внедряването на самата бизнес логика.
Проблемът е, че нямам подробна информация за продукта в Codeigniter Cart.
Има id
, name
, qty
, price
, subtotal
и options
полета в обект/масив на елемент.
За да преизчисля цените, без да правя заявка в базата данни при всяка промяна на количката, имам нужда от допълнителни полета, нещо като група/категория, които ми казват каква специална оферта се прилага за този продукт.
Освен това - трябва да съхраня някъде базовата цена, защото когато клиентът премахне някой продукт от количката - ще трябва да поставя стари цени там.
Къде трябва да поставя тази допълнителна информация?
Полето options
вече се използва...
Не искам да правя запитвания към база данни при всяка актуализация на количката (искам моето уеб приложение да е много бързо и искам минимално натоварване на сървъра).
Да очаквам ли проблеми с тези rowid
, когато променя цената на някой артикул от количката?
Питам за това, защото уникалният 'rowid' на количката е контролна сума md5 на елемент id
и options
масив. Приложението ми ще използва различни цени за един и същ продукт с едни и същи опции (една бройка нормална цена, друга 70% цена например).