2012-12-12 42 views
3

我只想讓客戶在登錄到他的Magento帳戶時留在當前頁面。客戶登錄magento後禁用重定向

是的,我知道Magento後端選項(位於:系統>配置>客戶> 客戶配置>登錄選項),但是當我將此設置設爲否時,它仍會在登錄後將客戶重定向到其帳戶儀表板。

真的沒有簡單的方法讓客戶留在他登錄的同一頁面嗎?

我知道Magento連接Psycho擴展或其他東西:)但我只需要一個代碼來實現。

Tia

+0

[這](http://pradhab.blogspot.com/2013/04/magento-redirect-after-login-not.html添加如下代碼)在magento的迷你登錄中爲我工作。簡單編輯模板文件 –

回答

0

對於重定向,您將不得不對您的客戶控制器進行更改。
爲了在控制器中進行更改,更好的選擇是覆蓋控制器。
您將不得不在控制器中的loginPostRedirect()函數中進行更改。
對這一行進行更改
$ session-> setBeforeAuthUrl(Mage :: helper('customer') - > getAccountUrl());

+0

感謝您的回覆。現在我有這個簡單的表單:

Email:

我應該在哪裏放什麼? T.I.A. – user1897753

1

我猜這將取決於Magento的版本。在1.7版本中,如果你檢查@Rajat(loginPostRedirect)提到的函數,你會發現如果查詢字符串中存在referer參數,那麼你提到的選項只會阻止客戶在儀表板上結束。如果將該查詢參數添加到登錄表單的操作中,則應該很好。

+1

感謝您的回覆。有沒有辦法阻止我在這個mather中定製核心文件? – user1897753

3

你應該設置爲NOSystem > Configuration > Customers > Customer Configuration > Login Options

,並在您login.phtml文件(這兩個,你的模板文件夾persistent/customer/formcustomer/form),你必須改變你的<form>到的動作:

action="<?php echo str_replace('login', 'loginPost', $this->helper('customer')->getLoginUrl()) ?>" 

OR

試試這個免費擴展

http://www.magentocommerce.com/magento-connect/customer-redirect-after-login-5446.html

2

可以在登錄表單PHTML文件

$refererUrl = $this->getRequest()->getServer('HTTP_REFERER'); 
Mage::getSingleton('customer/session')->setBeforeAuthUrl($refererUrl);