文章彙整

如何使用Magento 2 Complex Messages

Astral WebBy Astral Web 2 months agoNo Comments
首頁  /  Magento  /  Magento-2  /  如何使用Magento 2 Complex Messages

Magento 針對顯示通知、警示、頁面錯誤等訊息顯示時機,提供簡單的框架讓開發者使用,大多時間在頁面上顯示的訊息,只需要使用 Magento\Framework\Message\ManagerInterface

$this->messageManager->addNoticeMessage($message);

滿容易的對吧?但如果想要將超連結或其他HTML語法加入在訊息中時,這時這些訊息僅會為純文字顯示。

為了在訊息中加入HTML語法、超連結或其他變數,我們必須仰賴Magento內建的complex message system,大致上運作的方式是相同的,但需要一些額外的配置,才能正常使用。

首先你必須要將以下程式碼加入進你的模組 di.xml 中,以便定義一個複雜的訊息類型 (complex message type),如此一來可告訴Magento我們有個透過 ‘sampleComplexMessage’ 辨認的複雜訊息 (complex message),且其模板為 ‘complex-message.phtml’。

<type name="Magento\Framework\View\Element\Message\MessageConfigurationsPool">
    <arguments>
        <argument name="configurationsMap" xsi:type="array">
            <item name=“sampleComplexMessage" xsi:type="array">
                <item name="renderer" xsi:type="const">\Magento\Framework\View\Element\Message\Renderer\BlockRenderer::CODE</item>
                <item name="data" xsi:type="array">
                    <item name="template" xsi:type="string">AstralWeb_Example::messages/complex/complex-message.phtml</item>
                </item>
            </item>
        </argument>
    </arguments>
</type>

緊接著我們需要建立 complex-message.phtml 的模板,並且此訊息 (complex message) 將可以從多處Session來訪問,你不會被侷限於使用此模板來顯示訊息。

<?= $block->escapeHtml(__(
    'Please <a href="%1">click here</a> and do something’,
    $block->getData('url')
), ['a']);
?>

當你已建立完成後,你可以在任何地方操作加入以下將複雜訊息 (complex message) 程式碼:

$this->messageManager->addComplexSuccessMessage(
            'sampleComplexMessage',
            [
                'url' => $url
            ]
        );

這僅僅是個範例,複雜訊息 (complex message) 並不限於使用超連結 。我們可用它們來開發獨特的辨識器、顯示特定圖示、或儲存一般訊息中無法解析的其他資訊。

以上為本次針對使用Magento2 Complex Messages的分享,想收到更多相關資訊請務必訂閱我們的電子報,以及追蹤歐斯瑞臉書粉絲團Instagram唷!

以上內容由Astralweb 歐斯瑞編寫製作

 000

推薦文章

Categories:
  Magento-2MagentoMagento開發

留下回應

你的電子郵件地址不會被公開.

取得獨家電子商務祕技

建立更好的策略靈感

跟上全球的網路趨勢

絕佳的電商解決方案

電子商務戰略全指南

每月發送電商戰略指南,只要填寫E-mail即可訂閱!

請到您的信箱確認,即可完成訂閱。