ไม่แน่ใจว่านี่คือสิ่งที่คุณกำลังมองหาหรือไม่ แต่ฉันให้มันยิง
คุณสามารถดึงข้อความเช่นนี้:
$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"/>
ว่าควรจะจัดการกับข้อความ
[บันทึก Side]: ไม่ได้ใช้
$this->_objectManager->get('Magento\Framework\Escaper')->escapeHtml($message)
ฉีดอินสแตนซ์ของ constructor ของคุณMagento\Framework\Escaper
และใช้มัน