2012-11-02 13 views
7

में ब्लॉक से PHP तक चर कैसे पास करें I ब्लॉक से मूल्य पास करना चाहते हैं लेकिन मैं इच्छा परिणाम प्राप्त करने में असमर्थ हूं।
कुछ गलत हो रहा है जो मुझे नहीं पता क्यों।
मैं xml फ़ाइल में कोड "block type="multibanners/multibanners" name="multibanners" category_id="5" alias="multibanners" कोड आज़माएं।
परिणाम प्राप्त करने के लिए मैंने echo $this->getCategoryId() और getData('category_id') का उपयोग किया।
मैं खोज करता हूं लेकिन सभी समय एक ही कोड।
क्या कोई मेरी मदद कर सकता है कोड के साथ क्या गलत है।Magento

धन्यवाद।

<block type="multibanners/multibanners" name="multibanners" alias="multibanners"> 
<action method="setData"><name>category_id</name><value>5</value></action> 
</block> 

और इस तरह यह नहीं निकाला:

उत्तर

9

आप इस तरह अपने चर सेट कर सकते हैं

$this->getCategoryId(); 
+0

धन्यवाद आपका जवाब मेरे लिए काम कर निकी breadcrumbs.phtml टेम्पलेट फ़ाइल में Mage_Page_Block_Html_Breadcrumbs::_toHtml() + $crumbs वर के प्रत्यक्ष कॉल में उपयोग की कि

उदाहरण के लिए किया जाता है। क्या आप मुझे बता सकते हैं कि मैं गतिशील रूप से मूल्य कैसे पारित कर सकता हूं? –

+0

गतिशील रूप से php के माध्यम से? –

+0

मुझे बताएं कि मैं क्या करने की कोशिश करता हूं। मैं अपने कस्टम कोड का उपयोग कर श्रेणियों के आधार पर कुछ डेटा एक्सेस कर रहा हूं। यदि आप उपर्युक्त कोड देखते हैं तो अब मैं id = 5 वाले परिणाम श्रेणी_आईडी प्राप्त कर सकता हूं, मैं इस मान को xml में गतिशील कैसे सेट कर सकता हूं और Magento में कहीं से भी उस मूल्य को पास करें? जैसा कि –

1

या अपने नियंत्रक में, के बाद

$this->loadLayout(); 

लेकिन इससे पहले कि

इस कोड को

उपयोग:

$this->getLayout()->getBlock('multibanners')->setCategoryId(42); 
+0

क्षमा करें Raif आपका कोड काम नहीं कर रहा है मुझे.एएस मुझे इस पर परिणाम मिल रहा है-> getCategoryId(); –

+0

आपको अधिक संदर्भ प्रदान करने की आवश्यकता है, आप $-- getCategoryId() ** कहां से कह रहे हैं **? और कब ? मेरा समाधान आपको $ --- getCategoryId() को टेम्पलेट PHP के अंदर प्राप्त करने देगा जो ब्लॉक द्वारा प्रदान किया जाता है (यदि यह एक टेम्पलेट ब्लॉक है)। –

+0

हाँ मैं अपने सामने नियंत्रक द्वारा प्रदान की गई phtml फ़ाइल में कोड तक पहुंचने का प्रयास कर रहा हूं। मैं टेम्पलेट फ़ोल्डर में muultibanner.phtml में कोड का उपयोग कर रहा हूँ। ठीक है? और मैं अपना कोड अपने फ्रंट कंट्रोलर के इंडेक्स फ़ंक्शन में जोड़ता हूं। –