0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 275 Просмотров
*

stparts

  • Осваиваюсь на форуме
  • 97
  • 0
Помогите реализовать показ фильтра характеристик по кнопке. Что-бы параметры фильтра были скрыты пока не раскроешь один из нужных фильтров.
Скрыть мне их удалось, но при раскрытии любой из них, у меня отображается всегда первая характеристика, остальные не отображаются.
Что я сделал:
Добавил в шаблон скрипт
Код
<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://авто-формула.рф/магазин/моторные-масла
*

Serg_

  • Осваиваюсь на форуме
  • 175
  • 23
  • Skype: smile_bot (Запорожье)
Что-то Вы наворотили.
Все блоки с характеристиками имеют одинаковый id
Код
<div [b]id="characteristic_name"[/b] style="display: none;">
Дальше даже не смотрел.
На сайте подключается бутстрап. Используйте collapse

вот пример http://www.w3schools.com/Bootstrap/bootstrap_collapse.asp
*

stparts

  • Осваиваюсь на форуме
  • 97
  • 0
collapse делает то же самое

Цитировать
<div class="filter_characteristic">
        <?php foreach($characteristic_displayfields as $ch_id){?>   
            <?php if (is_array($characteristic_fieldvalues[$ch_id])){?>
        <a href="#demo" data-toggle="collapse"><?php print $characteristic_fields[$ch_id]->name;?></a>
           <div id="demo" class="collapse">
                 <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>
*

Serg_

  • Осваиваюсь на форуме
  • 175
  • 23
  • Skype: smile_bot (Запорожье)
у вас в цикле формируются ссылки с одинаковым id
только если раньше это было
Код
<div id="characteristic_name" style="display: none;">
то теперь
Код
<div id="demo" class="collapse">
сделайте в цикле разные id и будет работать
*

nevigen

  • Moderator
  • 8913
  • 755
  • http://n*****n.com
добавляйте в конец каждого ИД, например вывод ИД характеристики. как для блока так и для функции тугла.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

stparts

  • Осваиваюсь на форуме
  • 97
  • 0
Может кто-то готов помочь за определённое вознаграждение?
Моих знаний не достаточно.
*

nevigen

  • Moderator
  • 8913
  • 755
  • http://n*****n.com
<div id="caharct_<?php echo $ch_id?>" class="collapse">
....
</div>

по идее блоки будут уникальны.
есно и открывать их теперь надо по такому же ИД.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

stparts

  • Осваиваюсь на форуме
  • 97
  • 0
Большое спасибо. Заработало)))
Код
<a href="#demo<? echo $ch_id ?>" data-toggle="collapse"><?php print $characteristic_fields[$ch_id]->name;?></a>
           <div id="demo<? echo $ch_id ?>" class="collapse">
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод списка товаров по условию-характеристики

Автор sifoz

Ответов: 3
Просмотров: 320
Последний ответ 17.03.2016, 18:21:56
от nevigen
Скрыть кнопку купить

Автор xcasperss

Ответов: 2
Просмотров: 296
Последний ответ 15.03.2016, 19:06:42
от xcasperss
[Решено] mod_jshopping_categories Как показать все подкатегории?

Автор Виталик

Ответов: 34
Просмотров: 14094
Последний ответ 28.10.2015, 17:54:59
от Amper40
Поля регистрации (скрыть / показать). Как сделать?

Автор iDrevniy

Ответов: 11
Просмотров: 880
Последний ответ 17.03.2015, 12:05:13
от Biss
Скрыть пустые категории

Автор SityXXX

Ответов: 6
Просмотров: 825
Последний ответ 05.02.2014, 11:43:01
от Sity