Ich bin ein wenig verwirrt. Ich lese Alan Storms ausgezeichneten Artikel über Magento Block Lifecycle Methods und soweit ich verstehe, sollte man die protected _construct()
Methode verwenden, um den Block zu initialisieren. In meinem Fall möchte ich nur die richtige Blockvorlage einstellen. Also gehe ich davon aus ichMagento Block-Konstrukt - _construct oder __construct verwenden?
protected function _construct()
{
parent::_construct();
$this->setTemplate('stenik/qaforum/forum.phtml');
}
Allerdings, wenn ich an den Blöcken von einigen der Kern Magento Module aussehen, sie scheinen die PHP __construct Methode zu verwenden, es zu tun. Zum Beispiel Mage_Poll_Block_Poll
, Mage_ProductAlert_Block_Price
, Mage_Rating_Block_Entity_Detailed
, Mage_Review_Block_Form
Obwohl beiden Wege tatsächlich funktionieren, würde ich gerne wissen, was der richtige Weg, es zu tun ist.
+1 für die richtige Beratung, aber das isn‘ t 100% akademisch - Wenn Sie die '__construct'-Methode überschreiben, können Sie das Elternobjekt' __construct' nicht aufrufen, oder die übergeordneten '__construct'- und Konstruktorargumente aufrufen. Dies kann zu Inkonsistenzen bei der Verwendung von Blöcken in Layout-XML-Aktualisierungen führen. –
Erwähnenswert ist, wie ich meine Antwort davon ausgeht, dass Entwickler immer das Richtige tun. – benmarks