Magento: mensagens de sucesso e erro não aparecem.

Já falamos por aqui sobre mensagens de sucesso e erro no Magento.

Porém, muitas vezes as mensagens simplesmente não aparecem.

Um dos principais motivos é a inicialização dessas mensagens (que ficam em sessão) no controller do seu módulo.

Se isto não é feito da maneira correta, as mensagens não ficam disponíveis na view. (Se vocẽ não sabe o que são controllers ou views, leia isso).

Como faço então para inicializar as mensagens de sucesso e erro no meu controller?

//**
* Controller da ação index.
*
*/
public function indexAction() {
 $this->loadLayout();
 // inicia as mensagens do usuário
 $this->_initLayoutMessages('customer/session');
 $this->getLayout()->getBlock('inscricaoForm')->setFormAction(Mage::getUrl('*/*/post'));
 $this->renderLayout();
}
// Assim funciona.

Note as mensagens são inicializadas após o método “loadLayout”. Geralmente, tendemos a invocar o método “_initLayoutMessages” no começo do método que estamos programando.

Geralmente, é por isso que não funciona.

/**
* Controller da ação index.
*
*/
public function indexAction() {
 // inicia as mensagens do usuário
 $this->_initLayoutMessages('customer/session');
 $this->loadLayout();
 $this->getLayout()->getBlock('inscricaoForm')->setFormAction(Mage::getUrl('*/*/post'));
 $this->renderLayout();
}
// Assim não funciona.

Espero que ajude.

2017-01-24T20:26:21+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x