By default, customers are redirected to ‘Customer Account Dashboard’ page after login. This feature can be easily changed from Magento configuration settings.
Configuration Settings
– Login to admin panel
– Go to System -> Configuration -> CUSTOMERS -> Customer Configuration -> Login Options
– Set: Redirect Customers to Account Dashboard after Loggin in = No
– You can see in comments for this field: Customer will stay on the current page if “No” is selected.
This setting will redirect customers to the page from where they have come to login page. This setting is applicable for all pages of your Magento website.
You might have another condition of having this feature only on some specific pages. For example, you might want this feature only on product view page. Or, you might have a category that is visible to logged in customers only. In this case, you can simply use the following code:
Redirect to customer login page
if(!Mage::helper('customer')->isLoggedIn()) {
Mage::getSingleton('customer/session')
->setBeforeAuthUrl(Mage::helper('core/url')->getCurrentUrl());
$this->_redirect('customer/account/login');
}
Show a login link for non-logged in customers
if(!Mage::helper('customer')->isLoggedIn()) {
Mage::getSingleton('customer/session')
->setBeforeAuthUrl(Mage::helper('core/url')->getCurrentUrl());
echo '<p>Please <a href="'.Mage::getUrl('customer/account/login').'">Login</a> to view the page.</p>';
}
Customers will be redirected to previous page after successful login.
Hope it helps. Thanks.