从购物车重定向后,Magento在登录页面上没有显示错误消息

时间:2013-04-29 22:13:58

标签: php magento

我添加了一个重定向到checkout / onepage.phtml,以便在继续从购物车结帐之前将客户重定向到登录/注册页面。我没有修改Accountcontroller.php或login.phtml。

重定向工作正常,但登录页面上的错误消息会丢失(例如错误的密码,未显示未知的电子邮件地址)。其他页面上的消息正常工作,登录页面上的消息仅在删除cookie后才开始工作。

我在onepage.html开头用于重定向的代码:

      if (!$this->helper('customer')->isLoggedIn()) {
             header("Location: /customer/account/login/");
             exit();
      }

在login.phtml中<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>被正确调用。

我还尝试使用

扩展重定向代码
Mage::getSingleton('core/session')->addError("Error message");
session_write_close();

在重定向后直接显示消息,而不是在输入错误的密码/电子邮件时显示消息。有没有办法让消息在没有创建自定义控制器/模块的情况下工作?

1 个答案:

答案 0 :(得分:1)

您不需要使用PHP的header函数,使用Magento的内置重定向方法。

Mage::getSingleton('core/session')->addError('Error to display here.');
$this->_redirect('customer/account/login');