Відповіді:
У свій клас введіть клас Manager 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 видалив специфічні повідомлення щодо класу сеансу.