2013-01-07 75 views

回答

3

見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(); 
    //... 
} 
+0

工作就像一個魅力。消息正在該塊中顯示。但是,我正在從Observer執行(在添加到購物車事件之前收聽自定義),除了輸出該自定義消息外,我還需要停止添加到購物車操作。我的猜測是Mage :: throwException,但是拋出了一些令人討厭的錯誤消息。如果之前使用Mage :: throwException,則會添加添加到購物車,除了繞過消息並將用戶重定向到異常錯誤頁面。有什麼想法嗎?幾乎在那裏:) –

+0

你在哪裏放置自定義事件?看看Mage_Checkout_CartController的addAction()。理想情況下,您希望檢測錯誤並在添加項目和保存報價前使用_goBack()功能重定向用戶。 看看這裏的「開箱」添加到購物車事件您可能能夠掛鉤到的列表:http://stackoverflow.com/a/12531332/651529 – drj201

+0

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