我想了解为什么这两个模板代码片段会给出不同的结果:
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)
两个片段之间的唯一区别是:“Mage::app()->getLayout()”被“$this”替换。在原始的 Magento 模板上,我发现......“$this”版本......