Ответы:
В своем классе добавьте класс Message ManagerInterface:
__construct(\Magento\Framework\Message\ManagerInterface $messageManager) {
$this->messageManager = $messageManager;
}
Обратите внимание, Magento устарел методы :
$this->messageManager->addSuccess()
$this->messageManager->addError()
$this->messageManager->addWarning()
$this->messageManager->addNotice()
Поэтому вместо этого вы должны использовать:
$this->messageManager->addSuccessMessage()
$this->messageManager->addErrorMessage()
$this->messageManager->addWarningMessage()
$this->messageManager->addNoticeMessage()
Если вы используете контроллер, то, скорее всего, вы расширили
\Magento\Framework\App\Action\Action
Это вводит \Magento\Framework\Message\ManagerInterface
объект в его __construct
функцию, используя \Magento\Framework\App\Action\Context $context
объект
Таким образом, чтобы отобразить сообщение,
Успех -
$ this-> messageManager-> addSuccess (__ ('Это ваше сообщение об успехе.'));
Ошибка -
$ this-> messageManager-> addError (__ ('Это ваше сообщение об ошибке.'));
Предупреждение -
$ this-> messageManager-> addWarning (__ ('Это ваше предупреждающее сообщение.'));
уведомление
$ this-> messageManager-> addNotice (__ ('Это ваше уведомление.'));
Внутри других классов
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');
}
}
Итак, насколько я заметил, Magento2 удалил специфичные для класса сеанса уведомления.