Документация для разработчиков

GetBasketUserID

int
CSaleBasket::GetBasketUserID(
 bool bSkipFUserInit = False
);

Метод возвращает внутренний код владельца корзины. Статический метод.

Параметры

ПараметрОписаниеС версии
bSkipFUserInit По умолчанию принимает значение False.5.1.0

Пример использования

<?
// Выберем записи корзины текущего пользователя

$dbBasketItems = CSaleBasket::GetList(
        array(
                "NAME" => "ASC",
                "ID" => "ASC"
                ),
        array(
                "FUSER_ID" => CSaleBasket::GetBasketUserID(),
                "LID" => SITE_ID,
                "ORDER_ID" => "NULL"
                ),
        false,
        false,
        array()
        );
?>
//Если нужно получить код какого-то другого пользователя (не текущего), можно сделать так: 

if ($arFUser = CSaleUser::GetList(array('USER_ID' => $GLOBALS['USER_ID'])))
         echo($arFUser);

//В частности, получив такой код, можно вывести для себя корзину чужого пользователя.


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
4
Алексей Коваленко
У метода есть волшебная переменная $bSkipFUserInit = FalseПо умолчанию в случае невозможности определить ID пользователя магазина (а точнее отсутсвия корзины для пользователя)  происходит ее принудительное создание (таблицы b_sale_fuser увеличивается на запись).
Таким образом, можно быть уверенным, что возвратится всегда ID пользователя корзины
Однако, в некоторых случаях это может быть вредным.
Например, на высоко посещаемых сайтах, а также находящихся под нагрузкой ботов использование данного метода приведет к постоянному росту размера таблицы и необоснованному созданию большого количества корзин

Альтернативой может служить использование метода с объявлением

CSaleBasket::GetBasketUserID(True);
в таком случае отсутствия для пользователя корзины, новая уже не создается
Данную переменную необходимо использовать осторожно
Так, как код, например


Код
"FUSER_ID" => CSaleBasket::GetBasketUserID(True),



становится нестабильным (так как не всегда есть возможность получить ID пользвователя магазина)
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх