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