Загружаем модель корзины
$this -> model('ModCart' );
Добавляем новое свойство (расширение структуры корзины)
$this -> ModCart -> column('property_1.tinytext');
Добавляем новый товар в корзину
$this -> ModCart -> addProduct([
'element_id' => 14523, // id элемента каталога
'table_catalog' => 'PrCatalogProductions', // таблица каталога в бд
'price_column' => 'price', // символьный код свойства цена
'quantity' => 3, // количество товара
]);
Получить корзину текущего пользователя
$cart = $this -> ModCart -> getCart();
Кастомизация цены товара для корзины
Иногда на базовую цену могут влиять некоторые факторы, такие как платные свойства, скидки и т.д. Для этого можно расширить функционал корзины.
Расширяем модель
$this -> ModCart -> column('price_properties.float');
Указываем столбец для цены. # - обязательный символ, она значит что цена будет браться из модели ModCart, а не из товара.
$arPostData['price_column'] = '#price_properties';