これら 2 つのテンプレート コード スニペットで異なる結果が得られる理由を理解したいと思います。
1:
<?php Mage::getSingleton('localsample/session')->addError('Test'); ?>
<div id="messages_localsample_sample"><?php echo Mage::app()->getLayout()->getMessagesBlock()->getGroupedHtml() ?></div>
「テスト」というメッセージが表示されます
と
2:
<?php Mage::getSingleton('localsample/session')->addError('Test'); ?>
<div id="messages_localsample_sample"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
何も表示せず、ページ ソースでこれだけを生成します。
<div id="messages_localsample_sample"></div>
(特定の getMessageBlock または getGroupedHtml はコーディングされていません)
2 つのスニペットの唯一の違いは、「Mage::app()->getLayout()」が「$this」に置き換えられていることです。元の Magento テンプレートでは、「$this」バージョンを見つけました...