2012-07-19 13 views
5

में मेरी मॉड्यूल से getChildHtml कॉल करने के लिए मैं एक मॉड्यूल बनाया है और डिफ़ॉल्ट विषय के अंतर्गत ब्लॉककैसे Magento

<block type="mymodule/mymodule" name="my_block" template="mymodule/mymodule.phtml"/>.

catalog.xml में

है।

मैं डिफ़ॉल्ट ब्लॉक के कैटलॉग/उत्पाद/view.phtml से getChildHtml ('my_block') विधि द्वारा इस ब्लॉक को कॉल कर रहा हूं और यह mymodule.phtml फ़ाइल से टेक्स्ट प्रदर्शित करता है लेकिन मैं उस ब्लॉक को ऊपर view.phtml से कॉल नहीं करना चाहता view.phtml, mymodule.phtml से टेक्स्ट प्रदर्शित करने के लिए उपरोक्त ब्लॉक को Mymodule से कहीं भी कॉल करने का कोई तरीका है।

+0

देखो और अपने टेम्पलेट के लिए एक ही जोड़ने की कोशिश। क्या आप इसे अपने मॉड्यूल के टेम्पलेट में कॉल करना चाहते हैं? या आप इसे अपनी कक्षा के अंदर कॉल करना चाहते हैं? –

+0

यह निर्भर करता है कि आप इसे कहां दिखाना चाहते हैं। मुझे नहीं लगता कि list.phtml में प्रदर्शन के कारण कुछ ब्लॉक हुक हैं। तो आपको विषय फ़ाइल बदलनी चाहिए। आप अपनी खुद की थीम बना सकते हैं या इसे 'ऐप/डिज़ाइन/फ्रंटेंड/डिफ़ॉल्ट/डिफ़ॉल्ट/कैटलॉग/उत्पाद/' – Serjio

+0

ड्रेड किए गए अर्धविराम और सर्जियो को उत्तर के लिए धन्यवाद दे सकते हैं। असल में मैंने catalog.xml में my_block बनाया था जो मेरे मॉड्यूल phtml टेम्पलेट फ़ाइल का उपयोग करता है, और वह टेम्पलेट फ़ाइल उत्पाद श्रेणी पृष्ठ में प्रदर्शित होती है और जब मैं list.phtml पृष्ठ से getChildhtml ("my_block") को कॉल करता हूं तो यह काम करता है। लेकिन मेरे मॉड्यूल फ़ाइल से उस ब्लॉक को कॉल करने का दूसरा तरीका क्या है। –

उत्तर

0

यदि आप getChildHtml() के उपयोग के बिना अपने ब्लॉक को कॉल करना चाहते हैं तो आपको अपने ब्लॉक को बाएं, दाएं, सामग्री इत्यादि जैसे सामग्री ब्लॉक में रखना होगा और यह स्वचालित रूप से प्रतिपादन करेगा।

0

विधि के लिए एक कॉल getChildHtml() विधि को पारित नाम के साथ बच्चे ब्लॉक के लिए HTML लोड करता है।

अपने ब्लॉक को बाएं, दाएं और सामग्री जैसे संदर्भ क्षेत्र में लेआउट फ़ाइल में रखें और निर्दिष्ट नाम का उपयोग करके कॉल करें।

कोशिश, लेआउट xml फ़ाइल catalog.xml में होने की संभावना में my_block के लिए

<?php echo $this->getChildHtml('my_block') ?>