在客户点击“添加到购物车”按钮到类别页面后,我试图让Magento重定向,我没有遇到任何问题(当然,经过一些搜索后)一个名为“return_url”的隐藏字段。这部分工作正常,项目被添加到购物车,用户被重定向回类别页面。在这里,无论我尝试过什么,我都无法获得消息块来显示成功(或错误)消息。这是我最近的代码尝试(在view.phtml中):
$messages=Mage::getSingleton("checkout/session")->getMessages();
echo $this->getLayout()->createBlock("core/messages")->setMessages($messages)->getGroupedHtml();
谢谢!
答案 0 :(得分:3)
您是否尝试过更简单的addSuccess
/ addError
/ addNotice
功能?
Mage::getSingleton('core/session')->addError(Mage::helper('core')->__('An error'));
Mage::getSingleton('core/session')->addSuccess(Mage::helper('core')->__('A success'));
Mage::getSingleton('core/session')->addNotice(Mage::helper('core')->__('A notice'));
答案 1 :(得分:0)
您可以将消息添加到不同的会话模型类型,例如“目录”,“客户”,“结帐”或简单的“核心”。
与:
Mage::getSingleton('catalog/session')
Mage::getSingleton('customer/session')
Mage::getSingleton('checkout/session')
Mage::getSingleton('core/session')
在您的情况下,客户会话消息未在类别控制器中初始化。看看
\Mage_Catalog_CategoryController::viewAction
函数的结尾应如下所示:
$this->_initLayoutMessages('catalog/session');
$this->_initLayoutMessages('checkout/session');
$this->renderLayout();
要显示“客户/会话”中的消息,此区域必须如下所示:
$this->_initLayoutMessages('catalog/session');
$this->_initLayoutMessages('customer/session');
$this->_initLayoutMessages('checkout/session');
$this->renderLayout();