Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

очистка старых заказов из корзины

00 голосов
4
Вопрос такой. Пользователь вошел на сайт накидал в корзину товаров и ушел.Как сделать чтобы придя допустим через 2 дня на сайт он получил Пустую корзину а не со списком товаров которые он добавил в прошлый раз?
спросил 17 Март, 13 от Madys (360 баллов)

4 Ответы

00 голосов
Если нужно быстро, то можно сделать проверку: если с последнего посещения прошло более 2*24*60*60 секунд, то вызываем метод
Код
CSaleBasket::DeleteAll(CSaleBasket::GetBasketUserID());
Не пробовал, но должно работать.
ответил 17 Март, 13 от SleepLess (1,220 баллов)
00 голосов
как очищать корзину я знаю, меня интересует именно каким образом проверить дату последнего посещения. и куда правильнее будет поместить эту проверку? 
или просто в хидер положить и не заморачиваться
ответил 19 Март, 13 от Madys (360 баллов)
00 голосов
нашел в документации  http://dev.1c-bitrix.ru/api_help/main/reference/cuser/index.phpно подозреваю что для гостей работать не будет
ответил 01 Июнь, 13 от Madys (360 баллов)
00 голосов
Цитата
ghostamonsta пишет:
нашел в документации http://dev.1c-bitrix.ru/api_help/main/reference/cuser/index.php но подозреваю что для гостей работать не будет
CUser действительно не подойдет для неавторизованных пользователей.
Как вариант: PHP-функция mktime(). При каждом хите, например, пишем в сессию (сессии, конечно, для всех пользователей работают, у которых куки сохраняются). Но перед записью проверяем: если разность mktime() - сохраненное в сессии значение >= 2*24*60*60, то выполняем действия.

В init.php, возможно, не будет работать, хотя точно не знаю. Для пробы кодируй в header.php, потом, если нужно - перенесешь куда нужно.
ответил 31 Авг, 13 от SleepLess (1,220 баллов)

Похожие вопросы

0 голосов
3 ответов
спросил 27 Дек, 13 от Xolerick (120 баллов)
0 голосов
1 ответ
0 голосов
1 ответ
спросил 27 Янв, 14 от ACAB88 (100 баллов)
0 голосов
1 ответ
спросил 22 Апр, 13 от Diamontes (120 баллов)
0 голосов
3 ответов
спросил 20 Фев, 14 от Dryad (100 баллов)