cancel
Showing results for 
Search instead for 
Did you mean: 

Раскрывающийся список фильтрации

Раскрывающийся список фильтрации

Здравствуйте! Подскажите как реализовать расскрывающийся список в фильтрации. Может модуль какой подскажете.

1 REPLY

Re: Раскрывающийся список фильтрации

Я решил эту задачу вот таким способом:

1, В папке: app/design/frontend/package/theme/template/catalog/layer открываем файл filter.phtml и там меням  код на:

 

<?php
//control the way that the layered navigation attributes present themselves
//either dropdown list or default methd (ordered list)
$attributeName = $this->getName();
$itemcountthreshold = 0; // you can change this
$itemcount = $this->getItemsCount();
$displayitemcount = true; //set to true/false to display item count in brackets
if ($itemcount > $itemcountthreshold) {
    $attributeName = "Overthreshold";
}
if (!function_exists("_displayOrderedlist")) {
    function _displayOrderedlist($atts, $displayitemcount) {
        echo '<ol>';
        foreach ($atts->getItems() as $_item) {
            echo '<li><a href="' . $_item->getUrl() . '">' . $_item->getLabel() . '</a>';
            if ($displayitemcount) {
                echo ' (' . $_item->getCount() . ')';
            }
            echo '</li>';
       }
        echo '</ol>';
    }
}
if (!function_exists("_displayDropdown")) {
    function _displayDropdown($atts, $displayitemcount) {
        echo '<select id="layered-select" class="select" name="layered-select" onchange="if (this.selectedIndex > 0) location.href=this[this.selectedIndex].value;">';
        echo '<option selected="selected">Please select</option>';
        foreach ($atts->getItems() as $_item) {
            echo '<option value="' . $_item->getUrl() . '">';
            echo $_item->getLabel();
            if ($displayitemcount) {
                echo ' (' . $_item->getCount() . ')';
            }
            echo '</option>';
        }
        echo '</select>';
    }
}
switch ($attributeName) {
    case 'Screen Size':
    case 'Overthreshold':
        _displayDropdown($this, $displayitemcount);
        break;
    default:
        _displayOrderedlist($this, $displayitemcount);
        break;
}
?>