Quote from: gofrolist at Aug 05, 2010, 03:43 PM
Выяснил, что в getResources есть недокументированная функция &where в которой можно писать SQL запросы вида:
&where=`{{"alias:LIKE":"foo%", "OR:alias:LIKE":"%bar"},{"OR:pagetitle:=":"foobar", "AND:description:=":"raboof"}}`
Сделал временное решение через жуткие костыли:
&where=`{"id:=":"[[*Banner:limit=`2`]]", "OR:id:=":"[[*Banner:stripString=`[[*Banner:limit=`2`]]`]]"}`
Поясню как это работает.
Проверил вывод TV параметра на странице следующим способом: [tt][[*Banner]][/tt]
На экране получаем 2122 (к примеру если в TV выбраны два баннера с id 21 и 22), а БД эта запись видна как 21||22.
Поэтому непонятно как разделить эти два разряда простым способом, пришлось извращаться такой структурой:
[tt][[*Banner:limit=`2`]][/tt] - получаем первые две цифры (он же id первого баннера)
[tt][[*Banner:stripString=`[[*Banner:limit=`2`]]`]][/tt] - отрезаем эти две цифры из общего массива
Схема жутко кривая, тормозная и не универсальная. Поэтому вопрос остается открытым: Как фильтровать документы на основе TV параметров?