Всем привет разбираюсь с фильтром при использовании phx
Есть сниппет формы поиска:
<p class="error"></p>
<form action="katalog-specztexniki.html" method="post" enctype="multipart/form-data">
Тип спецсредства<br>
[[tvout? &formname=`produkciya` ¶mtv=`produkciya` &id_template=54]] <!Здесь сниппет для вывода DropDownList - select с именем produkciya и со значениями возможных параметров tv-->
<br><br>
Год<br>
[[tvout? &formname=`year` ¶mtv=`year` &id_template=54]] <!Здесь сниппет для вывода DropDownList - select с именем year и со значениями возможных параметров tv-->
<br><br>
<label>Цена от: </label>
<input name="cena_ot" type="text" size="15" maxlength="15" />
<br><br>
<label>Цена до: </label>
<input name="cena_do" type="text" size="15" maxlength="15" />
<br><br>
<p><input type="submit" name="frmGo" value="Послать" /></p>
</form>
Далее модифицировал сниппет myFilter.extender.inc.php
<?php
$filters["custom"]["myFilter"] = array("id","execFilter");
function execFilter($id){
global $modx;
if (!(isset($_REQUEST['cena_ot']) or isset($_REQUEST['cena_do']) or isset($_REQUEST['year']))){
return 1;
}
$result=0;
//Получаем ТВ документа
$tvyear=$modx->getTemplateVarOutput('year',$id['id']);
$tvprice=$modx->getTemplateVarOutput('price',$id['id']);
//Устанавливаем цену от и до
$cena_ot = (isset($_REQUEST['cena_ot']) and $_REQUEST['cena_ot']!='' )?floatval($_REQUEST['cena_ot']):0;
$cena_do = (isset($_REQUEST['cena_do']) and $_REQUEST['cena_do']!='' )?floatval($_REQUEST['cena_do']):1000000;
if (isset($_REQUEST['year']) and $_REQUEST['year']!='') {
$year = floatval($_REQUEST['year']);
if ($tvprice!='' and floatval($tvprice)>=$cena_ot and floatval($tvprice)<=$cena_do and $year=floatval($tvyear)) {$result=1;}
}
else {
if ($tvprice!='' and floatval($tvprice)>=$cena_ot and floatval($tvprice)<=$cena_do) {$result=1;}
}
return $result;
}
?>
Сделал пока дату и цену.
так вот какую бы цену не бвыбрал - выводит полный список элементов (тоесть не фильтрует)
Когда заполняешь цену от и до - то выводит "Записей не найдено.", хотя по идее должен выводить "Извините, Спецтехники по Вашему запросу не найдено."
вызов ditto вот такой:
[[Ditto? &tpl=`spectehnika`
&parents=`3`
&extenders=`request,myFilter`
noResults=`Извините, Спецтехники по Вашему запросу не найдено.`]]
Где я накосячил? подскажите пожалуйста!