1

我正在使用 Magento 1.7,我想在登录到主页后重定向我的所有客户。

我正在使用扩展程序向未登录的用户关闭该站点。我没有使用默认登录页面,而是带有 facebook 连接按钮的 CMS 页面。

现在,在用户使用 facebook 登录后,magento 正在加载没有 facebook 连接按钮的同一页面。

我看过这个帖子,但没有找到 AccountManager 来修改它。它在哪里?另外,我不确定这是否可行,因为在我的情况下,重定向不会发生在客户的仪表板上,而是发生在我创建的 cms 页面上。

我如何(以及在​​代码中的何处)检查用户是否已登录并将他/她重定向到主页?

提前致谢

4

3 回答 3

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您可以在方法中查看 Magento 的逻辑(app/code/core/Mage/Customer/controllers/AccountController.php)。根据实现,您会注意到还可以发送引荐来源请求参数(注意:它必须base64通过Mage::helper('core')->urlEncode()).

于 2012-07-31T22:17:29.053 回答
0

使用@beep 逻辑提到的事件和来自客户会话的方法Mage::getSingleton('customer/session')->setBeforeAuthUrl($url);有助于重定向到所需的页面。希望这可以帮助

于 2013-01-14T06:58:36.860 回答
0

我相信 AITOC 做了一个扩展来做你想做的事情。如果您有兴趣购买而不是建造。

于 2012-08-01T18:00:08.477 回答