我已将mxpert登录添加到我的Magento网站的主页CMS页面。我想将Global Messages加载到此登录名,以便在客户登录时出现错误时向客户显示。
由于
答案 0 :(得分:7)
使用此:
<?php echo
Mage::app()->getLayout()->getMessagesBlock()->
setMessages(Mage::getSingleton('customer/session')->getMessages(true))->getGroupedHtml()
?>
答案 1 :(得分:1)
默认情况下,Magento提供迷你登录功能,您可以随时使用,无论用户当前在何处。所以在所有页面(包括CMS页面)中,用户都可以使用迷你登录功能登录。
现在万一发生任何错误,Magento默认会将用户重定向到主登录页面,在那里将向用户显示实际错误。因此,您无需更改正在开发或更改的Magento主题的任何基本流程。
希望它有所帮助。
修改: - 强>
Magento(默认情况下)执行的操作是将所有消息(成功/错误/警告)存储在特定会话数组中。它被称为每个&amp;使用以下代码行的前端的每个页面: -
<?php echo $this->getChildHtml('global_messages') ?>
。
您可以在文件夹“1column.phtml
”中定义的几乎所有页面布局(例如“2columns-left.phtml
”,“app/design/frontend/base/default/template/page/
”和“依此类推”)中找到上述行。此外,上面一行代码暗示在一个Layout XML文件中应该有一个名为“global_messages
”的块,除非它被错误地篡改。
现在,上述简报对于了解Magento系统如何显示任何类型的消息是必要的。因此,只要前端页面中显示任何这些消息(如果存在),相关会话数组就会从其数组中删除/清除这些消息元素。
但主要的是消息应该显示在正确的页面中,它应该在哪里。如果没有,那么每当Magento找到显示消息的正确位置时,它就会显示(在某个不适当的页面中)。 我想这也是你发生的事情。
因此,如果您能查看正确的模板文件,那将会更好。相应的相关布局页面(在“app/design/frontend/base/default/template/page/
”文件夹中列出的页面中,如“1column.phtml
”,“2columns-left.phtml
”等等,以下代码: -
<?php echo $this->getChildHtml('global_messages') ?>
。