Magento添加自定义错误消息

时间:2014-11-11 12:10:17

标签: php magento

我希望在具体满足特定条件时添加自定义错误消息。下面是我在控制器上写的代码。当我导航到其他页面时,会显示错误消息,但这不会在同一页面中显示错误消息。

理想情况下,它应该在同一页面上显示错误消息,并且不希望在其他任何位置显示错误。

public function testAction(){

      $this->loadLayout()->_initLayoutMessages('customer/session'); 

      if(!isset($_FILES['docname']['name']) && $_FILES['docname']['name'] == ''){
        Mage::getSingleton('customer/session')->addError('Custom error message');
      }

      $this->renderLayout();
}

1 个答案:

答案 0 :(得分:1)

如果强制重新加载页面,错误消息将显示在同一页面上:

if (!isset($_FILES['docname']['name']) && $_FILES['docname']['name'] == '') {
    $this->_getSession()->addError('Custom error message');
    $this->_redirect('*/*/');
    return;
}

在同一页面上显示错误消息的另一种方法是覆盖中的_prepareLayout()函数:

protected function _prepareLayout() {
    // IF statement
        $this->getMessagesBlock()->addError('Custom error message');
    // End of IF
    return parent::_prepareLayout();
}