Возникла задача реализовать систему комплектов (вместе дешевле). В админке админ может добавлять к товару несколько связанных товаров, в связке может быть только 2 элемента: сам товар и скидочный товар.
В системе в сессии хранится пара: ключ товара и количество (еще возможны опции).
Сам придумал 2 решения:
1. Переписать логику $this->cart где все будет "измеряться" контейнерами. Например, юзер добавил в корзину iphone, в $this->cart добавляется контейнер с товаром и количеством. Потом юзер добавляет комплект. В $this->cart добавляется контейнер с 2 товарами с пометкой что это комплект.
Плюсы: нет путаницы если добавить товары из комплекта не вместе (зайти в карточки и добавить каждый отдельно).
Минусы: сложная реализация и переписывание стандартной работы корзины что чревато если нужно будет подключить сторонний модуль.
2. Добавлять как обычно товар с пометкой в опциях что это комплект с ссылкой на доп. товар в корзине.
Плюсы: легкая реализация.
Минусы: плюс пункта 1. переходит в минус; не удобный вывод в корзине и других местах вывода заказа.
Мне не очень нравятся оба решения
Так же не подходят решения модулей, которые можно найти в гугле (там идет пересчет суммы заказа), потому что нужно организовать вывод в таком виде:.
Буду признателен если сообщество подскажет идею.
p.s. Система: Opencart 1.5.