2012-07-31 120 views
1

我正在使用Magento 1.7,我想在登錄主頁後重定向所有客戶端。Magento:如何將登錄用戶重定向到主頁

我正在使用extension關閉該網站給未登錄的用戶。我沒有使用默認登錄頁面,而是使用了facebook連接按鈕的CMS頁面。

現在,用戶使用Facebook登錄後,magento正在加載相同的頁面,而沒有facebook連接按鈕。

我看到這個thread,但沒有找到AccountManager來修改它。它在哪裏?此外,我不確定這會起作用,因爲我的情況下的重定向不會發生在客戶的儀表板上,而是發生在我創建的cms頁面上。

我可以檢查用戶是否登錄並將他/她重定向到主頁的方式(以及在代碼中的位置)?

在此先感謝

回答

5

一種方法是鉤住**customer_login**事件,並在客戶會話設置afterAuthUrl。

... 
public function customerLogin(Varient_Event_Observer $observer) { 
    /* @var $session Mage_Customer_Model_Session */ 
    $session = Mage::getSingleton('customer/session'); 
    $session->setAfterAuthUrl(Mage::getBaseUrl()); 
} 

您可以在AccountController_loginPostRedirect方法(app/code/core/Mage/Customer/controllers/AccountController.php)查看Magento的邏輯。根據實施,你會注意到它也可以發送一個引用者請求參數(注意:它必須是base64編碼通過Mage::helper('core')->urlEncode())

0

我相信有一個由AITOC做的擴展,做你正在嘗試做的。如果你有興趣購買,而不是建立。通過@beep邏輯與重定向幫助需要的頁面客戶會話Mage::getSingleton('customer/session')->setBeforeAuthUrl($url);方法提到使用事件

0

。 希望這有助於

相關問題