2013-01-23 50 views
0

如何在程序過期後以編程方式設置用戶或重定向用戶?在登錄時,用戶被重定向到指定的商店視圖。此商店視圖僅適用於已登錄的用戶。當會話過期時,我會將用戶重定向到默認的商店視圖。Magento在會話過期後設置默認存儲視圖

回答

0

我修改了核心/型號/ 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; 
    } 

如果會話沒有的loggedIn我取消設置商店的cookie。