Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

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

он же показывает даже те пункты которых в подкатегории нету, просто пишет количество (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>

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.