Magento会话过期后设置默认商店视图

时间:2013-01-23 07:25:07

标签: php javascript magento magento-1.7

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

1 个答案:

答案 0 :(得分: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。