1

我刚刚购买了 Alan Storm 的 pdf 书 No Frills Magento 布局,在第一章中,他谈到了将子块实例化绑定到特定块创建,特别是在 _beforeToHtml() 方法中。

在 Alan Storm 的书中,他使用这行代码来实例化一个子块

$block_2 = new Mage_Core_Block_Text ();

我已经习惯了做这样的事情

 Mage::getModel('modulename/class');

两个问题:

  1. 有没有更好的方法从块类中实例化块
  2. 使用一个与另一个有什么好处
4

1 回答 1

3

如果你坚持这本书,它最终会引导你找到你想要的答案。我从直接类实例化开始,以展示系统是如何工作的。

如果你等不及,这里有快速答案

  1. $block_2 = Mage::getSingleton('core/layout')->createBlock('core/text');

  2. 当您使用其别名 ( ) 实例化该类时core/text,您允许您的块受到为您的类创建类重写的人的影响。

于 2013-01-27T04:10:27.767 回答