• Правильный CSaleBasket::DeleteAll

    Антон Долганин 9 Июля 2015 8:16 6711
    Функция CSaleBasket:: DeleteAll очищает текущую корзину пользователя. И все мы ей радостно уже давно пользуемся. Функция эта старая, появилась когда даже отложенных товаров, наверное, не было.

    Потом появилась возможность отложить товар, а потом еще и подписаться на товар. Ну так вот, фишка в том, что сабж удаляет прекрасно вообще все у пользователя - и отложенные, и аккуратно собранные подписки. Разработчику же легко запамятовать сей факт.  

    Вот корректный код удаления именно текущей корзины:

    $res = CSaleBasket::GetList(array(), array(
                                  'FUSER_ID' => CSaleBasket::GetBasketUserID(),
                                  'LID' => SITE_ID,
                                  'ORDER_ID' => 'null',
                                  'DELAY' => 'N',
                                  'CAN_BUY' => 'Y'));
    while ($row = $res->fetch()) {
       CSaleBasket::Delete($row['ID']);
    }


    .
Анатолий
26 Марта 2019 7:23
Как это применимо на сконвертированном магазине и на d7?