2013-01-10 38 views
6

मैं अपने Magento ईकॉमर्स साइट पर सक्रिय फ़िल्टर लागू करना चाहता हूं।खोज पर Magento सक्रिय फ़िल्टर पृष्ठ

मैं इसे लागू करने में सफल रहे हैं, लेकिन मुद्दा है, कोड केवल श्रेणी पृष्ठों पर काम करता है और खोज नहीं पेज

यहाँ कोड है कि मैं

<?php /*Create filter dependencies*/ 

$_activeFilters[] = array(); 

$_filters = Mage::getSingleton(‘Mage_Catalog_Block_Layer_State’)->getActiveFilters(); 

foreach ($_filters as $_filter):?> 
<?php echo $this->stripTags($_filter->getLabel()) ?><a href=”<?php echo $_filter-  >getRemoveUrl() ?>” title=”<?php echo $this->__(‘Remove This Item’) ?>”><?php echo $this->__(‘Remove This Item’) ?></a> 
<?php endforeach; ?> 

मैं उपयोग कर रहा हूँ है टूलबार.एफटीएमएल में इस कोड का उपयोग करना। किसी भी सुराग के रूप में यह खोज पृष्ठ पर क्यों काम नहीं कर रहा है। कोई भी समाधान बहुत मददगार होगा।

धन्यवाद,

सुशील

उत्तर

7

आप या तो श्रेणी सूची पृष्ठ या खोज परिणाम पृष्ठ

<?php 
    if(Mage::registry('current_category')) { 
     $_filters = Mage::getSingleton('catalog/layer')->getState()->getFilters(); 
    } else { 
     $_filters = Mage::getSingleton('catalogsearch/layer')->getState()->getFilters(); 
    } 
    ?> 

मैं toolbar.phtml में इस कोड का इस्तेमाल किया है पर फिल्टर को लाते समय के लिए इस कोड का उपयोग कर सकते हैं, टूलबार के नीचे हटाने योग्य फ़िल्टर दिखाने के लिए, जैसे फ्लिपकार्ट करता है।

+1

वाह के साथ विशेषज्ञता की आवश्यकता होगी! उसने जादू की तरह काम किया!!! धन्यवाद श्री धनेश !!! :) –

1

समस्या इस लाइन के साथ है:

$_filters = Mage::getSingleton(‘Mage_Catalog_Block_Layer_State’)->getActiveFilters(); 

यह एक सिंगलटन जो केवल जब किसी श्रेणी पृष्ठ पर आवश्यक डेटा शामिल हो जाता है।

अधिक जानकारी के लिए इस सवाल का देखें: Magento - How to add Layered Navigation to Advanced Search?

+0

तो कैटलॉग खोज पृष्ठ पर इसे प्राप्त करने का कोई तरीका नहीं है? –

+0

शायद वहां है, लेकिन आपको कुछ व्यापक कोडिंग और Magento – pzirkind