Sale\Basket::loadItemsForFUser(
Sale\Fuser::getId(),
Main\Context::getCurrent()->getSite()
);
При добавлении товара в корзину, если указываю "PRODUCT_PROVIDER_CLASS" => "CCatalogProductProvider" то все классно работает.
Но если не указывать провайдер, то товар в корзину нормально добавляется, то если уго удалить из стандартной корзины, и нажать кнопку Восстановить товар, то товар не восстанавливает.
Вопрос: в чем проблема ? какие параметры при добавлении корзину нужно передать, чтобы все работало штатно ?
Провайдер мне не нужно указывать, т.к. товар полностью кастомный.
никто не знает?😃
А что происходит?
Разобрался из-за чего так происходит. Стандартный функционал восстановления товара в корзине (после удаления), восстанавливает товар используя провайдер, если провайдер не передан - то естественно не восстанавливается.. Выглядит не логично (возможно это баг), т.к. если товар был добавлен без провайдера, то и восстанавливать его нужно без. Для восстановления все данные товара же есть в таблице с корзиной.
Отсутствие провайдера для публички не предполагалось. Какую задачу решали?
обычное добавление товара в корзину, с костюмной ценой, ед. измерением и названием.
😳 сценарий пустого провайдера - это когда такого товара нет на сайте в принципе.
Товар такой есть, то в результате конфигурации пользователя, может меняться цена, ед. измерения, и +в корзину нужно выводить с кастомным наименованием.
😳😳😳😳😳😳 пошел я отсюда...
основная проблема в том, что для восстановления товара, происходит полный цикл добавления товара в корзину через провайдер. хотя в js-объекте корзины, уже есть объект этого товара, и достаточно просто развернуть этот объект обратно.
Обсуждают сегодня