Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обнуление корзины
osCommerce по-русски. Форум. > Дизайн и программирование > Базы данных, Easy Populate
S_developer
Вопросик, может кто сталкивался, при выходе зарегистрированного пользователя содержимое корзины должно обнуляться, то есть положил в корзину, зарегистрировался, но не купил ничего, потом вошёл под своим логин / паролем и те товары которые ложились в корзину раньше пропадали, а не появлялись снова как сейчас
VaM
Добавь в logoff.php:
Код
  $cart->reset();
S_developer
Цитата(VaM @ 23.12.2006, 16:34) *
Добавь в logoff.php:
Код
  $cart->reset();

Спасибо, а если чел браузер просто закроет, корзина обнулится ?

Не получается, закрываю браузер, потом захожу под своим логином и вижу те товары которые положил в корзину раньше, а нужно чтобы они пропадали навсегда при незаконченом заказе....
Medreces
В login.php перед:
Код
// restore cart contents
$cart->restore_contents();


вставить:
Код
$cart->reset(true);


удачи!
S_developer
Цитата(Medreces @ 23.12.2006, 18:19) *
В login.php перед:
Код
// restore cart contents
$cart->restore_contents();


вставить:
Код
$cart->reset(true);


удачи!

Нет, так не подходит, если чел положил что то в корзину, а потом пошёл логинится то его товары все обнуляются, а нужно чтобы когда заказ не закончен, человек уходит например с магазина, потом заходит опять, набирает в корзину товар , логинится, и видит только новые товары которые только что в корзину положил, а сейчас получается он видит и товары с предыдущего незаконченого товара
S_developer
Спасибо, вопрос снят, сделал.
Medreces
Посмотрите метод reset() класса shoppingCart.

Просто добавьте второй параметр, который по умолчанию будет true
Код
    function reset($reset_database = false, $clean_cart = true) {

и дальше вот этот кусок:
Код
      unset($this->cartID);
      if (tep_session_is_registered('cartID')) tep_session_unregister('cartID');
поставте под if ($clean_cart)

А вызов $cart->reset(true) в login.php сделать $cart->reset(true, false)

удачи!

ЗЫ. Сам не проверяю, поэтому к советам относитесь внимательнее, не тестируйте это на рабочим шопе.
S_developer
Большое спасибо, так работает, но я закомментил в login.php //$cart->restore_contents(); - тоже работает, ещё раз спасибо
S_developer
Вопрос решен
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.