Aradığın şeyin bu olup olmadığından emin değilim, ama ben bir şans veriyorum.
Bu gibi mesajları alabilirsiniz:
$messages = $this->messageManager->getMessages(true);
messageManager
bir örneği nerede \Magento\Framework\Message\ManagerInterface
.
Çekirdekte, bu, ( \Magento\Catalog\Controller\Adminhtml\Category\Move
) gibi json yanıtındaki hata mesajlarını döndürmek için ajax çağrıları için kullanılır :
$block = $this->layoutFactory->create()->getMessagesBlock();
...
$block->setMessages($this->messageManager->getMessages(true));
$resultJson = $this->resultJsonFactory->create();
return $resultJson->setData([
'messages' => $block->getGroupedHtml(),
'error' => $error
]);
Çıktı içeren eylemler için hiçbir şey yapmamalısınız (bence). default.xml
Dan düzen dosya Magento_Theme
modülü zaten bu bloğunu içerir <block class="Magento\Framework\View\Element\Messages" name="messages" as="messages" template="Magento_Theme::messages.phtml"/>
iletileri işlemek gerekir.
[Yan not]:
Kullanmayın $this->_objectManager->get('Magento\Framework\Escaper')->escapeHtml($message)
. Yapıcınıza bir örnek enjekte edin Magento\Framework\Escaper
ve bunu kullanın.