ठीक है, जिन चीजों को आपको करने की आवश्यकता है: 1. अपना खुद का टेम्पलेट सेट करने के लिए 'कैटलॉग / लेयर_व्यू' ब्लॉक को ओवरराइड करें। मैंने अपने स्तरित क्षेत्र को 1 कॉलम लेआउट के भाग के रूप में हेडर क्षेत्र में रखा
<layout>
<catalog_category_layered>
<reference name="header">
<block type="catalog/layer_view" name="mylayered" template="mymodule/catalog/layer/view.phtml"/>
</reference>
</catalog_category_layered>
</layout>
उस टेम्पलेट फ़ाइल में आपको अपने व्यक्तिगत तत्वों के लिए ओवरराइड टेम्पलेट निर्दिष्ट करने की आवश्यकता होती है।
<?php if($this->canShowBlock()): ?>
<div class="block block-layered-nav">
<div class="block-title">
<strong><span><?php echo $this->__('Shop By') ?></span></strong>
</div>
<div class="block-content">
<?php echo $this->getStateHtml() ?>
<?php if ($this->getLayer()->getState()->getFilters()): ?>
<div class="actions"><a href="<?php echo $this->getClearUrl() ?>"><?php echo $this->__('Clear All') ?></a></div>
<?php endif; ?>
<?php if($this->canShowOptions()): ?>
<p class="block-subtitle"><?php echo $this->__('Shopping Options') ?></p>
<dl id="narrow-by-list">
<?php $_filters = $this->getFilters() ?>
<?php foreach ($_filters as $_filter): ?>
<?php /* !!! HERE !!! */ ?>
<?php if(some_condition == true){ $_filter->setTemplate('path/to/your/new/filter.phtml'); } ?>
<?php if($_filter->getItemsCount()): ?>
<dt><?php echo $this->__($_filter->getName()) ?></dt>
<dd><?php echo $_filter->getHtml() ?></dd>
<?php endif; ?>
<?php endforeach; ?>
</dl>
<script type="text/javascript">decorateDataList('narrow-by-list')</script>
<?php endif; ?>
</div>
</div>
<?php endif; ?>
अंत में, आपको ड्रॉप डाउन फ़िल्टर बनाने की आवश्यकता है। phtml। वह सीधे आगे होना चाहिए। यह खराब रूप से स्वरूपित है क्योंकि मुझे इस संपादक से परेशानी हो रही है, लेकिन सामान्य विचार यहाँ है। कुछ जावास्क्रिप्ट की भी आवश्यकता होगी।
<ol>
<li><select>
<?php foreach ($this->getItems() as $_item): ?>
<option value="<?php echo $this->urlEscape($_item->getUrl()); ?>">
<?php if ($_item->getCount() > 0): ?>
<a href="<?php echo $this->urlEscape($_item->getUrl()) ?>"><?php echo $_item->getLabel() ?></a>
<?php else: echo $_item->getLabel() ?>
<?php endif; ?>
<?php if ($this->shouldDisplayProductCount()): ?>
(<?php echo $_item->getCount() ?>)
<?php endif; ?>
</option>
<?php endforeach ?>
</select></li>
</ol>