Здравствуйте.
Подскажите пожалуйста как можна настроить вывод атрибутов таким образом чтобы часть из них выводилась как выподающий список, а часть как обычный список с гиперссылками.
Как сделать блок пошаговой фильтрации наподобие rezina.cc/shiny?
16.02.2012 17:52
http://rezina.cc/shiny
Вверху три параметра отображаются как выпадающий список: ширина, профиль, глубина, а ниже идет обычный список с ссылками
16.02.2012 17:57
Вам нужно либо сделать свой шаблон для стандартного блока пошаговой фильтрации, либо купить модуль пошаговой фильтрации с требуемыми элементами управления.
16.02.2012 18:28
смотрите по умолчанию в Magento используется такой код в filter.phtml
<ol>
<?php foreach ($this->getItems() as $_item): ?>
<?php //echo "<pre>" . print_r(get_class_methods($_item)) . "</pre>" ?>
<li>
<?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 echo $_item->getCount() ?>)
</li>
<?php endforeach ?>
</ol>
я его изменил на:
<select id="select-filter" onchange="setLocation(this.value)">
<?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 echo $_item->getCount() ?>)
</option>
<?php endforeach ?>
</select>
и теперь выводятся все атрибуты как выпадающим списком так и обычным, не могу понять как указать что такие то атрибуты выводятся таким образом а эти другим
<ol>
<?php foreach ($this->getItems() as $_item): ?>
<?php //echo "<pre>" . print_r(get_class_methods($_item)) . "</pre>" ?>
<li>
<?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 echo $_item->getCount() ?>)
</li>
<?php endforeach ?>
</ol>
я его изменил на:
<select id="select-filter" onchange="setLocation(this.value)">
<?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 echo $_item->getCount() ?>)
</option>
<?php endforeach ?>
</select>
и теперь выводятся все атрибуты как выпадающим списком так и обычным, не могу понять как указать что такие то атрибуты выводятся таким образом а эти другим