Không chắc đây có phải là thứ bạn đang tìm không, nhưng tôi sẽ cho nó một shot.
Bạn có thể truy xuất các tin nhắn như thế này:
$messages = $this->messageManager->getMessages(true);
nơi messageManagerlà một thể hiện của \Magento\Framework\Message\ManagerInterface.
Trong lõi, điều này được sử dụng cho các cuộc gọi ajax để trả về các thông báo lỗi trong phản hồi json như thế này ( \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
]);
Đối với các hành động với đầu ra, bạn không nên làm bất cứ điều gì (tôi nghĩ). Tệp default.xmlbố cục từ Magento_Thememô-đun đã chứa khối này <block class="Magento\Framework\View\Element\Messages" name="messages" as="messages" template="Magento_Theme::messages.phtml"/>sẽ xử lý các thông báo.
[Ghi chú bên cạnh]:
Không sử dụng $this->_objectManager->get('Magento\Framework\Escaper')->escapeHtml($message). Tiêm vào hàm tạo của bạn một thể hiện Magento\Framework\Escapervà sử dụng nó.