Нужно ли мне использовать Битрикс для брошенных корзин? |SendiBox Email Marketing Studio, в Битриксе есть брошенные корзины.

27491.00 ₽
Август 8, 2023 3
Почему брошенные корзины не принимаются обратно? Суть проблемы. Например, пользователь заходит на сайт и авторизуется. Затем он кладет товар в корзину и уходит. Брошенная корзина остается в системе. Через некоторое время пользователь возвращается, но брошенную корзину не забирает. Если посмотреть на страницу администратора, то корзина привязана к нужному пользователю. Однако при переходе на страницу корзины появляется сообщение об ошибке, в котором говорится, что корзина пуста. В процессе поиска я обнаружил такую особенность: корзина Битрикс не связана напрямую с пользователем через ID покупателя (таблица b_sale_fuser ), поэтому эти ID запутаны. Существует два способа получения этих идентификаторов CSaleBasket::GetBasketUserID(); Sale\Fuser::getId();// D7 Если пользователь не авторизован, то оба метода возвращают одно и то же значение (например, 2). После авторизации метод CSaleBasket::GetBasketUserID() по-прежнему возвращает fuser_id 2, а метод Sale\Fuser::getId() возвращает fuser_id 1. Если посмотреть на таблицу базы данных b_sale_fuser, то можно увидеть, что запись с fuser_id = 1 относится к. Пользователю, чья корзина была оставлена, а fuser_id = 2 ссылается на user_id = NULL. Видно, что одновременно существует две корзины. Самое неприятное, что компонент корзины системы получает содержимое корзины только из ответа метода CSaleBasket::GetBasketUserID(). Можно ли как-то повлиять на такое поведение? Или я что-то упустил в конфигурации битрикса? Этот вопрос был задан более 3 лет назад 1192 Просмотров Комментарий. Решение вопроса 1 nikegk @nikegk Автор вопроса. Мне удалось выявить и решить проблему методом исключения. Проблема заключалась в том, что событие after-authorise перехватывалось в init. php и перенаправлялось так, как описано здесь Техническая поддержка Битрикс подтвердила, что реализация такого перенаправления, вероятно, означает, что некоторые методы каталога API не успевают сработать, в результате чего некоторые В техподдержке Битрикс мне сказали, что при реализации такого редиректа, вероятно, не успевают сработать некоторые методы каталога API, в результате чего пользователь имеет в системе два разных fuser_ids. Устранение этого редиректа также позволило решить еще один вопрос, который я поднимал ранее.

Оставить комментарий

    Комментарии