minishop2 + office - чистится корзина при выходе
        minishop2 в связке с office
ситуация:
залогенный пользователь добавляет в корзину товары,
если выйти — корзина чиститься в браузерах opera и firefox
пока дошел до того: что — в куках удаляется переменная PHPSESSID
при проходе по ссылке /?action=auth/logout
в браузерах opera и firefox
в остальных вроде норм все
    
    
                                                                                
            ситуация:
залогенный пользователь добавляет в корзину товары,
если выйти — корзина чиститься в браузерах opera и firefox
пока дошел до того: что — в куках удаляется переменная PHPSESSID
при проходе по ссылке /?action=auth/logout
в браузерах opera и firefox
в остальных вроде норм все
Комментарии: 3
                Сергей, добрый день, нашли ли вы решения данной проблемы, у меня очищается корзина в любом браузере ((            
                    
                кому актуально, решение есть тут compaero.ru/docs/modx-i-xpdo/soxranenie-korzinyi-polzovatelya.html            
                    
                Так как url более не доступен, то приведу код Руслана с небольшим дополнением: товары, добавленные в корзину до входа, добавляются в сохранённую корзину.
                    switch ($modx->event->name) {
    case 'msOnAddToCart':
    case 'msOnChangeInCart':
    case 'msOnEmptyCart':
    case 'msOnRemoveFromCart':
        if ($user = $modx->getAuthenticatedUser('web') and $ms2 = $modx->getService('minishop2')) {
            $ms2->initialize($modx->context->key);
            $profile = $user->getOne('Profile');
            $extended = $profile->get('extended');
            $extended['ms2cart'] = $ms2->cart->get();
            $profile->set('extended', $extended);
            $profile->save();
        }
        break;
        
    case 'OnWebPageInit':
    case 'OnWebLogin':
        if ( $user = $modx->getAuthenticatedUser('web') and  $ms2 = $modx->getService('minishop2')) {
            $ms2->initialize($modx->context->key);
            $profile = $user->getOne('Profile');
            $extended = $profile->get('extended');
            if ( isset($extended['ms2cart']) && !empty($extended['ms2cart']) ) {
                $mycart = array_merge($extended['ms2cart'], $ms2->cart->get());
                $ms2->cart->set($mycart);
            }
        }
        break;
}            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.