Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Нужна помощь с фильтром


Рекомендованные сообщения

Нужно сделать так, чтобы фильтр выводил только те продукты, которые есть в категории.. 

он же показывает даже те пункты которых в подкатегории нету, просто пишет количество (0)

 

вот код из файла filter.tpl

 

-----------------------------------------------------------

<div class="section">
<div id="comment"><img src="image/arrow2.png" width="250" height="100" alt="Воспользуйтесь фильтрами" /></a></div>
</div>
 
<?php
 
//AGOO::$globals[]=$category_options;
 
 
if ($category_options) { ?>
<style type="text/css">
  #filters{line-height: 22px;}
  #filters b{display:block;padding: 2px 5px 15px 5px;}
  .filter-item{margin: 0 4px;}
  .filter-item label{margin-left:2px;padding-left:2px;display: block;cursor:pointer;}
  .filter-item label input{margin: 0 3px;}
  .filter-item label a{text-decoration:none;color: #236BBB;}
  .filter-item label.active a{color: #E56101;font-weight:bold;}
  .filter-item select{margin-left:10px;min-width:100px;}
  .filter-item label + label{border-top: 1px solid #ECECEC;}
</style>
<div class="box">
  <div class="box-heading-filter"><?php echo $heading_title; ?></div>
  <div class="box-content-filter">
    <form id="filters">
      <?php foreach ($category_options as $category_option) { ?>
 </br>
        <center><b><div style="background: rgb(254,204,177) moz-border-radius: 10px; webkit-border-top: 10px; border-radius: 10px; 
"><?php echo $category_option['name']; ?></div></b></center>
        <div class="filter-item">
        <?php if ($category_option['values']) { ?>
          <?php foreach ($category_option['values'] as $value) { ?>
            <?php if (in_array($value['value_id'], $filter_values_id)) { ?>
              <label class="active"><input type="checkbox" onclick="window.location='<?php echo $value['href']; ?>'" checked="checked"><a href="<?php echo $value['href']; ?>"><?php echo $value['name']; ?></a></label>
            <?php } else { ?>
              <?php if ($value['products']) { ?>
                <label><input type="checkbox" onclick="window.location='<?php echo $value['href']; ?>'"><a href="<?php echo $value['href']; ?>"><?php echo $value['name']; ?></a> (<?php echo $value['products']; ?>)</label>
              <?php } else { ?>
                <label><input type="checkbox" disabled="disabled"><span class="grey"><?php echo $value['name']; ?> (<?php echo $value['products']; ?>)</span></label>
              <?php } ?>
            <?php } ?>
          <?php } ?>
        <?php } ?>
        </div>
      <?php } ?>
    </form>
  </div>
  <div class="bottom"> </div>
</div>
<?php } ?>
 
<script type="text/javascript">
setTimeout(function(){$('.box2').fadeOut('fast')},6000);  //30000 = 30 секунд
</script>
------------------------------------------------------------------------------------
 
 
как убрать вывод отсутствующих продуктов догадался, нужно удалить строку 
<label><input type="checkbox" disabled="disabled"><span class="grey"><?php echo $value['name']; ?> (<?php echo $value['products']; ?>)</span></label>
 
но как убрать вывод названия категорий фильтра, если в нём отсутствуют фильтры в этом коде? Заранее спасибо!
 
 

post-23930-0-23252200-1391006158_thumb.jpg

Ссылка на комментарий
Поделиться на других сайтах


На вскидку так:
 

  <?php if ($category_option['values']) { ?>

ставим перед

 </br>
        <center><b><div style="background: rgb(254,204,177) moz-border-radius: 10px; webkit-border-top: 10px; border-radius: 10px; 
"><?php echo $category_option['name']; ?></div></b></center>
Ссылка на комментарий
Поделиться на других сайтах


<div class="section">

<div id="comment"><img src="image/arrow2.png" width="250" height="100" alt="Воспользуйтесь фильтрами" /></a></div>

</div>

 

<?php

 

//AGOO::$globals[]=$category_options;

 

 

if ($category_options) { ?>

<style type="text/css">

  #filters{line-height: 22px;}

  #filters b{display:block;padding: 2px 5px 15px 5px;}

  .filter-item{margin: 0 4px;}

  .filter-item label{margin-left:2px;padding-left:2px;display: block;cursor:pointer;}

  .filter-item label input{margin: 0 3px;}

  .filter-item label a{text-decoration:none;color: #236BBB;}

  .filter-item label.active a{color: #E56101;font-weight:bold;}

  .filter-item select{margin-left:10px;min-width:100px;}

  .filter-item label + label{border-top: 1px solid #ECECEC;}

</style>

<div class="box">

  <div class="box-heading-filter"><?php echo $heading_title; ?></div>

  <div class="box-content-filter">

    <form id="filters">

      <?php foreach ($category_options as $category_option) { ?>

 <?php if ($category_option['values']) { ?>

 </br>

        <center><b><div style="

 

background: rgb(254,204,177); /* Old browsers */

background: -moz-linear-gradient(top,  rgba(254,204,177,1) 0%, rgba(241,116,50,1) 50%, rgba(232,114,55,1) 51%, rgba(251,149,94,1) 100%); /* FF3.6+ */

background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(254,204,177,1)), color-stop(50%,rgba(241,116,50,1)), color-stop(51%,rgba(232,114,55,1)), color-stop(100%,rgba(251,149,94,1))); /* Chrome,Safari4+ */

background: -webkit-linear-gradient(top,  rgba(254,204,177,1) 0%,rgba(241,116,50,1) 50%,rgba(232,114,55,1) 51%,rgba(251,149,94,1) 100%); /* Chrome10+,Safari5.1+ */

background: -o-linear-gradient(top,  rgba(254,204,177,1) 0%,rgba(241,116,50,1) 50%,rgba(232,114,55,1) 51%,rgba(251,149,94,1) 100%); /* Opera 11.10+ */

background: -ms-linear-gradient(top,  rgba(254,204,177,1) 0%,rgba(241,116,50,1) 50%,rgba(232,114,55,1) 51%,rgba(251,149,94,1) 100%); /* IE10+ */

background: linear-gradient(to bottom,  rgba(254,204,177,1) 0%,rgba(241,116,50,1) 50%,rgba(232,114,55,1) 51%,rgba(251,149,94,1) 100%); /* W3C */

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feccb1', endColorstr='#fb955e',GradientType=0 ); /* IE6-9 */

-webkit-box-shadow: 0px 0px 6px 0px rgba(50, 50, 50, 1);

-moz-box-shadow:    0px 0px 6px 0px rgba(50, 50, 50, 1);

box-shadow:         0px 0px 6px 0px rgba(50, 50, 50, 1);

 

moz-border-radius: 10px; webkit-border-top: 10px; border-radius: 10px; 

"><?php echo $category_option['name']; ?></div></b></center>

        <div class="filter-item">

        

          <?php foreach ($category_option['values'] as $value) { ?>

            <?php if (in_array($value['value_id'], $filter_values_id)) { ?>

              <label class="active"><input type="checkbox" onclick="window.location='<?php echo $value['href']; ?>'" checked="checked"><a href="<?php echo $value['href']; ?>"><?php echo $value['name']; ?></a></label>

            <?php } else { ?>

              <?php if ($value['products']) { ?>

                <label><input type="checkbox" onclick="window.location='<?php echo $value['href']; ?>'"><a href="<?php echo $value['href']; ?>"><?php echo $value['name']; ?></a> (<?php echo $value['products']; ?>)</label>

              <?php } else { ?>

               

              <?php } ?>

            <?php } ?>

          <?php } ?>

        <?php } ?>

        </div>

      <?php } ?>

    </form>

  </div>

  <div class="bottom"> </div>

</div>

<?php } ?>

 

<script type="text/javascript">

setTimeout(function(){$('.box2').fadeOut('fast')},6000);  //10000 = 30 секунд

</script>

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.