回答:
クラスに、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はセッションクラス固有の通知メッセージを削除しました。