Respuestas:
En su clase, inyecte la clase Message ManagerInterface:
__construct(\Magento\Framework\Message\ManagerInterface $messageManager) {
$this->messageManager = $messageManager;
}
Tenga en cuenta que Magento tiene métodos obsoletos :
$this->messageManager->addSuccess()
$this->messageManager->addError()
$this->messageManager->addWarning()
$this->messageManager->addNotice()
Entonces, en su lugar, debe usar:
$this->messageManager->addSuccessMessage()
$this->messageManager->addErrorMessage()
$this->messageManager->addWarningMessage()
$this->messageManager->addNoticeMessage()
Si está utilizando un controlador, lo más probable es que haya extendido
\Magento\Framework\App\Action\Action
Esto inyecta el \Magento\Framework\Message\ManagerInterface
objeto en su __construct
función usando el \Magento\Framework\App\Action\Context $context
objeto
Entonces, para mostrar un mensaje,
Éxito
$ this-> messageManager-> addSuccess (__ ('Este es su mensaje de éxito'));
Error
$ this-> messageManager-> addError (__ ('Este es su mensaje de error.'));
Advertencia -
$ this-> messageManager-> addWarning (__ ('Este es su mensaje de advertencia'));
darse cuenta
$ this-> messageManager-> addNotice (__ ('Este es su mensaje de aviso.'));
Dentro de otras clases
class Dummy
{
/**
* @var \Magento\Framework\Message\ManagerInterface
*/
private $messageManager;
public function __construct(\Magento\Framework\Message\ManagerInterface $messageManager)
{
$this->messageManager = $messageManager;
}
public function someFunction()
{
$this->messageManager->addSuccess('Add your success message');
}
}
Por lo que he notado, Magento2 ha eliminado los mensajes de notificación específicos de la clase de sesión.