0

会话过期后如何以编程方式设置或重定向用户?在登录时,用户被重定向到指定的商店视图。此商店视图仅适用于登录用户。当会话过期时,我会将用户重定向到默认商店视图。

4

1 回答 1

0

我修改了 Core/Model/App.php _checkCookieStore 方法

protected function _checkCookieStore($type)
    {
        if (!$this->getCookie()->get()) {
            return $this;
        }

        $session = Mage::getSingleton('customer/session', array('name'=>'frontend'));
        if (!$session->isLoggedIn()) {
            unset($_COOKIE['store']);
        }
        $store = $this->getCookie()->get(Mage_Core_Model_Store::COOKIE_NAME);
        if ($store && isset($this->_stores[$store])
            && $this->_stores[$store]->getId()
            && $this->_stores[$store]->getIsActive()) {
            if ($type == 'website'
                && $this->_stores[$store]->getWebsiteId() == $this->_stores[$this->_currentStore]->getWebsiteId()) {
                $this->_currentStore = $store;
            }
            if ($type == 'group'
                && $this->_stores[$store]->getGroupId() == $this->_stores[$this->_currentStore]->getGroupId()) {
                $this->_currentStore = $store;
            }
            if ($type == 'store') {
                $this->_currentStore = $store;
            }
        }
        return $this;
    }  

如果会话未登录,我会取消设置商店 cookie。

于 2013-02-18T09:01:28.847 回答