Подскажите, пожалуйста, по поиску? MODx

Тема в разделе "MODx", создана пользователем liner2007, 30 ноя 2011.

  1. liner2007

    liner2007 Писатель

    Регистр.:
    22 ноя 2011
    Сообщения:
    0
    Симпатии:
    0
    По поиску нашлось вот такое решение:
    PHP:
    <?php
    global $modx;
    $flt ="";
    // Получаем данные из формы
    $param_one=mysql_escape_string($_POST['region']);
    $param_two=mysql_escape_string($_POST['realty']);
    // Фильтруем
    $param_one htmlspecialchars(stripslashes($param_one));
    $param_two htmlspecialchars(stripslashes($param_two));
    // Если один из параметров равен "Все" то выставляем его в NULL
    if($param_one=="Все"){$param_one=NULL;}
    if(
    $param_two=="Все"){$param_two=NULL;}
    // Формируем фильтр
    $flt_one="tvregion,$param_one,1";
    $flt_two="tvrealty,$param_two,1";
    // Если одно из значений  пустое, то 
    if(empty($param_one) AND $param_two)
    {
    $flt="$flt_two";
    }
    // Если одно из значений  пустое, то 
    if(empty($param_two) AND $param_one){
    $flt="$flt_one";
    }
    // Если оба значения не пусты, то фильтруем по обоим разделив их "|"
    if($param_two AND $param_one){
    $flt="$flt_one"."|"."$flt_two";
    }
    // Если оба значения "Все" то выводим все значения
    if($param_two=="Все" AND $param_one=="Все"){
    $flt="";
    }
    // Вызываем снипет Ditto с параметрами
    $result=$modx->runSnippet('Ditto', array( 'startID'=>'386,394,401','tpl'=>'short-news','filter'=>$flt,'noResults'=>'Извините, ничего не найдено.'));  
    $modx->setPlaceholder('search_rezult',$D); 
    // Возварщаем результат
    return $result;
    ?>
    Сниппет [!FILTR!] — взято отсюда: _//koba.dp.ua/filtracija_statej_po_dvum_parametram
    Чанк и вывод поисковой формы [!FILTR!] [*search_rezult*]
    Но есть одна проблема — когда выбираешь пункты «Все» и «Все» — поиск срабатывает, выдает все из папки IDn, но стоит задать четкие параметры, поиск не обрабатывается. Спасибо.