0
我创建了一个观察者,并且在发生特定事件时需要填充产品页面上的messages_product_view div。我如何去填充这个div?以下是我需要填写的区域的屏幕截图。Magento产品页面上的自定义错误消息
我创建了一个观察者,并且在发生特定事件时需要填充产品页面上的messages_product_view div。我如何去填充这个div?以下是我需要填写的区域的屏幕截图。Magento产品页面上的自定义错误消息
见Magento的会话模型,即核心/会话,客户/会话等
要添加,您可以使用例如消息:
Mage::getSingleton('core/session')->addSuccess($message); // Add green success message
Mage::getSingleton('core/session')->addError($message); // Add red error message
Mage::getSingleton('core/session')->addNotice($message); // Add yellow notice message
模板文件有一个呼叫以下将呈现会话消息。看看这个:
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
消息也可以手动检索,像这样:
$messages = Mage::getSingleton('core/session')->getMessages(true);
foreach($messages->getItems() as $message)
{
$message->getText();
//...
}
工作就像一个魅力。消息正在该块中显示。但是,我正在从Observer执行(在添加到购物车事件之前收听自定义),除了输出该自定义消息外,我还需要停止添加到购物车操作。我的猜测是Mage :: throwException,但是抛出了一些令人讨厌的错误消息。如果之前使用Mage :: throwException,则会添加添加到购物车,除了绕过消息并将用户重定向到异常错误页面。有什么想法吗?几乎在那里:) –
你在哪里放置自定义事件?看看Mage_Checkout_CartController的addAction()。理想情况下,您希望检测错误并在添加项目和保存报价前使用_goBack()功能重定向用户。 看看这里的“开箱”添加到购物车事件您可能能够挂钩到的列表:http://stackoverflow.com/a/12531332/651529 – drj201
我创建了一个观察者,分派一个自定义事件或多个,如果我愿意。我会看看提供的链接。感谢你的帮助! –