2012-03-02 16 views
12

में list.phtml से श्रेणी का नाम कैसे प्राप्त करें, इसलिए मैं एक ब्लॉक के भीतर से एक कस्टम list.phtml फ़ाइल प्रदर्शित करने का प्रयास कर रहा हूं। thats ठीक मैं के साथ श्रेणी आईडी 6.Magento

{{block type="catalog/product_list" category_id="6" template="catalog/product/list.phtml"}} 

ऊपर ठीक काम करता है सभी उत्पादों को प्रदर्शित करने में सक्षम हूँ। लेकिन अब मैं श्रेणी आईडी 6 के नाम तक पहुंच प्राप्त करना चाहता हूं, मैं सूची.एफटीएमएल या यहां तक ​​कि एक अलग ब्लॉक के भीतर से ऐसा करने के लिए कैसे जाउंगा। मुझे id = 6 के लिए श्रेणी के नाम की आवश्यकता है।

उत्तर

38
आप

<?php echo $this->getLayer()->getCurrentCategory()->getName() ?> 

इस मामले में वर्तमान श्रेणी _getProductCollection() कॉल में catalog/product_list ब्लॉक द्वारा परत पर सेट किया जाता है के साथ श्रेणी के नाम पर प्राप्त कर सकते हैं list.phtml ब्लॉक टेम्पलेट के अंदर

सीएमएस पृष्ठ सामग्री के अंदर मुझे श्रेणी नाम तक सीधे पहुंचने का कोई तरीका नहीं है।
श्रेणी नाम प्राप्त करने वाले एक अलग ब्लॉक से अधिक शामिल हो सकता है। आप कोशिश

<?php echo Mage::getSingleton('catalog/layer')->getCurrentCategory()->getName() ?> 
बेशक

यह मामला है कि वहाँ कोई मौजूदा श्रेणी परत उदाहरण पर सेट कर सकते हैं, ताकि जांच करने के लिए बदसूरत त्रुटियों से बचने के लिए सुनिश्चित करें हो सकता है कर सकते हैं।
असल में, यदि catalog/product_list उत्पाद सूची ब्लॉक की _beforeToHtml() विधि निष्पादित की गई है तो वर्तमान श्रेणी परत पर सेट की जाएगी।

संपादित करें: यह सब मानते हैं कि आप श्रेणी आईडी निर्दिष्ट किए बिना श्रेणी का नाम प्राप्त करना चाहते हैं। आप के बारे में परवाह नहीं करते हैं कि आप हमेशा

<?php echo Mage::getModel('catalog/category')->load($this->getCategoryId())->getName() ?> 
+0

साथ श्रेणी के नाम पर प्राप्त कर सकते हैं इन दोनों के पेज और कुछ भी नहीं outputted है तोड़ने, मैं कैसे वर्तमान परत सेट करूँ? – molleman

+0

यह त्रुटि है किसी सदस्य फ़ंक्शन getName() को Magento – molleman

+1

में गैर-ऑब्जेक्ट पर कॉल करें रजिस्ट्री में वर्तमान परत कैटलॉग खोज मॉड्यूल द्वारा सेट की गई है। मैंने 'Mage :: getSingleton (' catalog/layer ') का उपयोग करने के लिए उत्तर को अपडेट किया, इसके बजाय, वर्तमान श्रेणी को परत उदाहरण पर सेट करते समय एक स्पष्टीकरण भी जोड़ा। – Vinai