Sono un po 'confuso. Ho letto l'eccellente articolo di Alan Storm su Magento Block Lifecycle Methods e, per quanto ne so, si dovrebbe usare il metodo protected _construct()
per inizializzare il blocco. Nel mio caso voglio solo impostare il modello di blocco giusto. Quindi suppongo dovrei usareCostrutto Magento Block - usa _construct o __construct?
protected function _construct()
{
parent::_construct();
$this->setTemplate('stenik/qaforum/forum.phtml');
}
Tuttavia, quando guardo i blocchi di alcuni dei moduli di base Magento, sembrano utilizzare il metodo php __construct per farlo. Per esempio Mage_Poll_Block_Poll
, Mage_ProductAlert_Block_Price
, Mage_Rating_Block_Entity_Detailed
, Mage_Review_Block_Form
Anche se in entrambi i modi in realtà il lavoro, mi piacerebbe sapere qual è il modo giusto per farlo.
+1 per i consigli giusti, ma questo isn' t 100% accademico - quando si ridefinisce il metodo '__construct' si introduce la possibilità di non chiamare il' __construct genitore ', o chiamare il '__construct parent' e rimuovere gli argomenti del costruttore. Questo può creare incoerenze nel modo in cui i blocchi si comportano quando vengono utilizzati negli aggiornamenti xml del layout. –
Vale la pena sottolineare, poiché la mia risposta presuppone che gli sviluppatori facciano sempre The Right Thing®. – benmarks