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
我創建了一個觀察者,分派一個自定義事件或多個,如果我願意。我會看看提供的鏈接。感謝你的幫助! –