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

Тема в разделе "Общие вопросы", создана пользователем sibrus, 14 май 2015.

  1. sibrus

    sibrus Пользователь

    Сообщения:
    96
    Симпатии:
    7
    Пытаюсь сделать что бы группа фильтров раскрывалась при нажатии на нее.
    делаю так:

    В filter.tpl в line 5
    <a class="list-group-item" onclick="hidetxt('div1'); return false;" href=" ЧТО ТУТ ПИСАТЬ??? " rel="nofollow"><b><?php echo $filter_group['name']; ?></b></a>

    и line 14-16
    <div style="display:none;" id="div1">
    <input name="filter[]" type="checkbox" value="<?php echo $filter['filter_id']; ?>" />&nbsp;<?php echo $filter['name']; ?>&nbsp;&nbsp;
    </div>

    Дело в том что исходник в инете предлагает сделать href="#", но с # не работает... что туда писать? Получается ссылка на домен. А надо что бы сохраняло исходную рф/index.php?route=product/category&path=59_78 при этом просто раскрывалась группа фильтров.

    ???
     
  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.279
    Симпатии:
    898
  3. sibrus

    sibrus Пользователь

    Сообщения:
    96
    Симпатии:
    7
    спасибо! получилось
     
  4. sibrus

    sibrus Пользователь

    Сообщения:
    96
    Симпатии:
    7
    вот готовое решение, пользуйтесь.

    1. catalog\view\theme\default\template\module\filter.tpl

    вместо старого кода вставляем новый
    Код:
    <div class="panel panel-default">
    <!-- <div class="panel-heading"><?php echo $heading_title; ?></div> -->
      <div class="list-group">
        <?php foreach ($filter_groups as $filter_group) { ?>
        <div>
        <a class="list-group-item1" href=""><b><?php echo $filter_group['name']; ?></b></a>
    <div class="spoiler_body">
    
              <?php foreach ($filter_group['filter'] as $filter) { ?>
            <?php if (in_array($filter['filter_id'], $filter_category)) { ?>
       
            <input name="filter[]" type="checkbox" value="<?php echo $filter['filter_id']; ?>"/>&nbsp;<?php echo $filter['name']; ?>&nbsp;&nbsp;
      
            <?php } else { ?>
    
       
            <input name="filter[]" type="checkbox" value="<?php echo $filter['filter_id']; ?>"/>&nbsp;<?php echo $filter['name']; ?>&nbsp;&nbsp;
      
    
            <?php }} ?>
          </div> </div>
        <?php } ?>
      </div>
    <div class="panel-footer text-right">
         <button type="button" id="button-filter" class="btn btn-primary" onclick=$("div[class^='spoiler_body']").hide('normal') style="float: left">Спрятать</button>
        <div style="float: left">&nbsp;&nbsp;</div>
        <button type="button" id="button-filter" class="btn btn-primary" onclick=$("div[class^='spoiler_body']").show('normal') style="float: left">ПокаЕать</button>
        <button type="button" id="button-filter" class="btn btn-primary"><?php echo $button_filter; ?></button>
      </div>
    </div>
    <script type="text/javascript"><!--
    $('#button-filter').on('click', function() {
    filter = [];
    $('input[name^=\'filter\']:checked').each(function(element) {
      filter.push(this.value);
    });
    location = '<?php echo $action; ?>&filter=' + filter.join(',');
    });
    //--></script>

    2. catalog\view\theme\default\template\common\header.tpl

    после тэга </head> вставляем код:

    Код:
    <script type="text/javascript">
    $(document).ready(function(){
    $('.list-group-item1').click(function(){
      $(this).parent().children('div.spoiler_body').toggle('normal');
      return false;
    });
    });
    </script>
    filtr.png
     
    Последнее редактирование: 16 авг 2015
    Vlad нравится это.