मैं थोड़ा उलझन में हूँ। मैंने Magento Block Lifecycle Methods के बारे में एलन स्टॉर्म के उत्कृष्ट लेख को पढ़ा और जहां तक मुझे लगता है कि ब्लॉक को आरंभ करने के लिए protected _construct()
विधि का उपयोग करना चाहिए। मेरे मामले में मैं सिर्फ सही ब्लॉक टेम्पलेट सेट करना चाहता हूं। इसलिए मैं मैंMagento ब्लॉक निर्माण - _construct या __construct का उपयोग करें?
protected function _construct()
{
parent::_construct();
$this->setTemplate('stenik/qaforum/forum.phtml');
}
का उपयोग करना चाहिए हालांकि मान, जब मैं कोर Magento मॉड्यूल में से कुछ के ब्लॉक को देखो, वे इसे करने के लिए php __construct विधि का उपयोग करने लगते हैं। उदाहरण Mage_Poll_Block_Poll
, Mage_ProductAlert_Block_Price
, Mage_Rating_Block_Entity_Detailed
, Mage_Review_Block_Form
हालांकि दोनों तरीकों से वास्तव में काम के लिए, मैं पता है कि यह करने के लिए सही तरीका है चाहते हैं।
सही सलाह के लिए +1, लेकिन यह 'isn टी 100% अकादमिक - जब आप '__construct' विधि को ओवरराइड करते हैं तो आप माता-पिता '__construct' को कॉल करने की संभावना नहीं देते हैं, या माता-पिता' __construct' को कॉल करते हैं और कन्स्ट्रक्टर तर्क को हटाते हैं। यह लेआउट xml अद्यतनों में उपयोग किए जाने पर ब्लॉक कैसे व्यवहार करता है में असंगतता पैदा कर सकता है। –
वर्थ पॉइंटिंग आउट, जैसा कि मेरा जवाब मानता है कि डेवलपर हमेशा सही चीज करते हैं®। – benmarks