1

AlanStormのPDFブックNoFrillsMagentoレイアウトを購入しました。最初の章では、子ブロックのインスタンス化を、特に_beforeToHtml()メソッド内の特定のブロック作成にバインドする方法について説明しています。

Alan Stormの本では、彼はこのコード行を使用して子ブロックをインスタンス化します

$block_2 = new Mage_Core_Block_Text ();

私はこのようなことをすることに慣れてきました

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

2つの質問:

  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 に答える