как сделать фильтр по значению поля, если значения поля берутся из списка?

#
как сделать фильтр по значению поля, если значения поля берутся из списка?
есть доп. свойство "God_Vypyska" типа список, в который занесены года: 1990, 1991, ..., 2010, 2011, 2012. Надо сделать фильтр, который бы позволял выбирать товары: до 3-х лет, от 3-х до 5-ти лет, свыше 5-ти лет.
Для этого в шаблоне определил 3 чекбокса:
   <input type="checkbox" name="year1" value="1"/>до 3 лет
   <input type="checkbox" name="year2" value="1"/>3-5 лет
   <input type="checkbox" name="year3" value="1"/>7-10 лет

в типовой динамической странице пишу:
      /* Ограничиваем по годам: до 3-х лет */
      if (to_int($_GET['year1']) > 0)
      {
         $element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
         $element['property_id'] = '269';
         $element['prefix'] = 'AND'; // префикс
         $element['if'] = '>'; // Условие
         $element['value'] = '425';
         $element['sufix'] = '';
         $param['select'][] = $element;

         /* Применять фильтр */
         $external_propertys['apply_filter'] = true;
      }

В связи с этим 3 вопроса:
1. Как определить текущий год и год 3-хлетней давности (2008)?
2. Как определить код списка (425) по его значению "2008" (или использовать в запросе значения списков, а не коды)?
3. Как сделать, чтобы после применения фильтра восстанавливался выбранный чекбокс?
Модератор
#
Re: как сделать фильтр по значению поля, если значения поля берутся из списка?
1. http://ru2.php.net/manual/en/function.date.php sielski писал(а):
и год 3-хлетней давности (2008)?
http://ru2.php.net/manual/en/function.strtotime.php
2. http://hostcms.ru/api/HostCMS_5/lists.html#methodGetListItem и ищите нужное значение
3. На PHP получить значение и установить выбранный checkbox
#
Re: как сделать фильтр по значению поля, если значения поля берутся из списка?
спасибо, п.1 и п.2 получилось. По п.3 (На PHP получить значение и установить выбранный checkbox) можно подробнее пояснить?
#
Re: как сделать фильтр по значению поля, если значения поля берутся из списка?
так и не могу понять, как  сделать, чтобы после применения фильтра восстанавливался выбранный чекбокс. Можно пример показать (или ссылку, где посмотреть)? Буду признателен.
#
Re: как сделать фильтр по значению поля, если значения поля берутся из списка?
в типовой дин. странице написал:
      /* Ограничиваем по годам: до 3-х лет */
      if (to_int($_GET['year1']) > 0)
      {
         $element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
         $element['property_id'] = '269';
         $element['prefix'] = 'AND'; // префикс
         $element['if'] = '>'; // Условие
         // определяем дату
         $d = to_int(date('Y'))-3;

         // получаем id элемента списка
         $lists = singleton('lists');
         $lists_id = '46';
         $list_item_value = $d;      
         $row=$lists->GetListItemIfIssetValue($lists_id, $list_item_value);
        
         $element['value'] = $row['lists_items_id'];
         // print_r($row);
        
         $element['sufix'] = '';
         $param['select'][] = $element;

         /* Применять фильтр */
         $external_propertys['apply_filter'] = true;
      }

это для фильтра до 3-х лет. Фильтр работает нормально, только чекбокс на форме после применения фильтра не восстанавливается. HostCMS писал: Цитата:
На PHP получить значение и установить выбранный checkbox
. Не можете ли подробно объяснить, как это сделать?
Авторизация