Не уверен, что это то, что вы ищете, но я попробую.
Вы можете получить сообщения, как это:
$messages = $this->messageManager->getMessages(true);
где messageManager
пример \Magento\Framework\Message\ManagerInterface
.
В основном это используется для вызовов ajax для возврата сообщений об ошибках в ответе json, например: ( \Magento\Catalog\Controller\Adminhtml\Category\Move
):
$block = $this->layoutFactory->create()->getMessagesBlock();
...
$block->setMessages($this->messageManager->getMessages(true));
$resultJson = $this->resultJsonFactory->create();
return $resultJson->setData([
'messages' => $block->getGroupedHtml(),
'error' => $error
]);
Для действий с выводом вы не должны ничего делать (я думаю). default.xml
Файл макета из Magento_Theme
модуля уже содержит этот блок , <block class="Magento\Framework\View\Element\Messages" name="messages" as="messages" template="Magento_Theme::messages.phtml"/>
который должен обрабатывать сообщения.
[Примечание стороны]:
не используйте $this->_objectManager->get('Magento\Framework\Escaper')->escapeHtml($message)
. Вставьте в ваш конструктор экземпляр Magento\Framework\Escaper
и используйте его.