Помогите реализовать показ фильтра характеристик по кнопке. Что-бы параметры фильтра были скрыты пока не раскроешь один из нужных фильтров.
Скрыть мне их удалось, но при раскрытии любой из них, у меня отображается всегда первая характеристика, остальные не отображаются.
Что я сделал:
Добавил в шаблон скрипт
<script type="text/javascript">
function showHide(element_id) {
if (document.getElementById(element_id)) {
var obj = document.getElementById(element_id);
if (obj.style.display != "block") {
obj.style.display = "block";
}
else obj.style.display = "none";
}
else alert("Элемент с id: " + element_id + " не найден!");
}
</script>
Вот так выглядит код отвечающий за характеристики в фильтре.
<div class="filter_characteristic">
<?php foreach($characteristic_displayfields as $ch_id){?>
<?php if (is_array($characteristic_fieldvalues[$ch_id])){?>
<a href="javascript:void(0)" onclick="showHide('characteristic_name')"><?php print $characteristic_fields[$ch_id]->name;?><br/><br/>
<div id="characteristic_name" style="display: none;">
<div class="characteristic_name"><?php print $characteristic_fields[$ch_id]->name;?></div>
<input type="hidden" name="extra_fields[<?php print $ch_id?>][]" value="0" />
<?php foreach($characteristic_fieldvalues[$ch_id] as $val_id=>$val_name){?>
<label><span class="button_checkbox"><input type="checkbox" hidden name="extra_fields[<?php print $ch_id?>][]" value="<?php print $val_id;?>" <?php if (is_array($extra_fields_active[$ch_id]) && in_array($val_id, $extra_fields_active[$ch_id])) print "checked";?> onclick="document.jshop_filters.submit();" /> <span><?php print $val_name;?></span></span></label>
<?php }?>
<br/></div>
<?php }?>
<?php }?>
</div></div>
За скрытие блока отвечает
<a href="javascript:void(0)" onclick="showHide('characteristic_name')"><?php print $characteristic_fields[$ch_id]->name;?><br/><br/>
<div id="characteristic_name" style="display: none;">
При просмотре в фаербаге видно, что под каждым спойлером скрыт необходимый кусок кода, но отображается не то пальто.
Пример работы на http://авто-формула.рф/магазин/моторные-масла