Redefine the address to jump to after the user logs in

重新定义用户登录后跳转的地址

在/app/etc/modules 下面增加Lollicupstore_Customer.xml

<?xml version="1.0" encoding="UTF-8" ?> 
<config>
<modules>
<Lollicupstore_Customer>
<active>true</active>
<codePool>local</codePool>
</Lollicupstore_Customer>
</modules>
</config>

在/app/code/local 下面增加LollicupStrore 模块,模块里面包含如下:Customer/controllers 文件夹 、etc文件夹  。

在Customer/controller下面新建AccountController.php ,引入Mage/Customer/controllers/AccountController.php,重写_loginPostRedirect ()

 
<?php
require_once 'Mage/Customer/controllers/AccountController.php';
class Lollicupstore_Customer_AccountController extends Mage_Customer_AccountController
{

/**
* Define target URL and redirect customer after logging in
*/
protected function _loginPostRedirect()
{
$session = $this->_getSession();

if (!$session->getBeforeAuthUrl() || $session->getBeforeAuthUrl() == Mage::getBaseUrl()) {
// Set default URL to redirect customer to
$session->setBeforeAuthUrl($this->_getHelper('customer')->getAccountUrl());
// Redirect customer to the last page visited after logging in
if ($session->isLoggedIn()) {
if (!Mage::getStoreConfigFlag(
Mage_Customer_Helper_Data::XML_PATH_CUSTOMER_STARTUP_REDIRECT_TO_DASHBOARD
)) {
$referer = $this->getRequest()->getParam(Mage_Customer_Helper_Data::REFERER_QUERY_PARAM_NAME);
if ($referer) {
// Rebuild referer URL to handle the case when SID was changed
$referer = $this->_getModel('core/url')
->getRebuiltUrl( $this->_getHelper('core')->urlDecodeAndEscape($referer));
if ($this->_isUrlInternal($referer)) {
$session->setBeforeAuthUrl($referer);
}
}
} else if ($session->getAfterAuthUrl()) {
$session->setBeforeAuthUrl($session->getAfterAuthUrl(true));
}
} else {
$session->setBeforeAuthUrl( $this->_getHelper('customer')->getLoginUrl());
}
} else if ($session->getBeforeAuthUrl() == $this->_getHelper('customer')->getLogoutUrl()) {
$session->setBeforeAuthUrl( $this->_getHelper('customer')->getDashboardUrl());
} else {
if (!$session->getAfterAuthUrl()) {
$session->setAfterAuthUrl($session->getBeforeAuthUrl());
}
if ($session->isLoggedIn()) {
$session->setBeforeAuthUrl($session->getAfterAuthUrl(true));
}
}

$cart_qty = (int) Mage::getModel('checkout/cart')->getQuote()->getItemsQty();

//if condition of shopping cart is NOT empty, redirect customers to shopping cart page once successful logged in.
if($cart_qty >0 ){
$this->_redirectUrl('/checkout/cart/');
}else{
$this->_redirectUrl($session->getBeforeAuthUrl(true));
}
}

}