Нашел способ сделать выборку данных при выводе Ditto. Не хватает знаний для реализации.
1. Есть форма в дропдаунами, выбираем параметры. Пишем данные в сессию (всё работает).
2. Вытаскиваем данные из сеcсии с помощью Снипета, формируем фильтр для Ditto, Запускаем Ditto с параметрами.
В результате фильтр выборки закрепляется сессией и возврат на страницу фильтрации имеет сохранённые данные.
Суть проблемы: есть необходимый Снипет, но он к сожалению формирует только 2 фильтра, а требуется выборка по 4-7 значениям.
<?php
global $modx;
$flt ="";
// Poluchaem dannye
$param_one=mysql_escape_string($_SESSION['type_article']);
$param_two=mysql_escape_string($_SESSION['color_article']);
// Filtruem
$param_one = htmlspecialchars(stripslashes($param_one));
$param_two = htmlspecialchars(stripslashes($param_two));
// Esli "EMPTY" stavim NULL
if($param_one==""){$param_one=NULL;}
if($param_two==""){$param_two=NULL;}
// Formiruem filtr
$flt_one="tvtype_article,$param_one,1";
$flt_two="tvcolor_article,$param_two,1";
// Esli "EMPTY"
if(empty($param_one) AND $param_two)
{
$flt="$flt_two";
}
// Esli "EMPTY"
if(empty($param_two) AND $param_one){
$flt="$flt_one";
}
// Formiruem filtry s razelitelem "|"
if($param_two AND $param_one){
$flt="$flt_one"."|"."$flt_two";
}
// Esli "EMPTY" vivodim vse
if($param_two=="" AND $param_one==""){
$flt="";
}
// Go Ditto
$result=$modx->runSnippet('Ditto', array('id' => 'viborka', 'startID'=>'16','tpl'=>'viborka','filter'=>$flt,'noResults'=>'Empty...'));
$modx->setPlaceholder('search_rezult',$D);
// Return
return $result;
?>
Помогите...