Tidak yakin apakah ini yang Anda cari, tetapi saya mencobanya.
Anda dapat mengambil pesan seperti ini:
$messages = $this->messageManager->getMessages(true);
dimana messageManager
instance dari \Magento\Framework\Message\ManagerInterface
.
Pada intinya, ini digunakan untuk panggilan ajax untuk mengembalikan pesan kesalahan dalam respons json seperti ini ( \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
]);
Untuk tindakan dengan output Anda tidak harus melakukan apa pun (saya pikir). File default.xml
tata letak dari Magento_Theme
modul sudah berisi blok ini <block class="Magento\Framework\View\Element\Messages" name="messages" as="messages" template="Magento_Theme::messages.phtml"/>
yang seharusnya menangani pesan.
[Catatan]:
Jangan gunakan $this->_objectManager->get('Magento\Framework\Escaper')->escapeHtml($message)
. Suntikkan konstruktor Anda ke instance Magento\Framework\Escaper
dan gunakan itu.