Как поставить значение по-умолчанию в where? Новый

Дополнение: pdoResources

Всем привет.
Сделал форму для фильтрации ресурсов через GET-параметры:

[[!pdoResources:default=`Извините, к сожалению,ничего не найдено.`?
	&parents=`4`
	&depth=`0`
	&useWebLink=`1`
	&includeContent=`1`
	&processTVs=`1`
	&includeTVs=`gorod,cena,tip`
	&tpl=`adv-list`
	&where=`["TVcena.value >= [[!get_filter? &key1=`cena_min`]] AND TVcena.value <= [[!get_filter? &key1=`cena_max`]] AND TVtip.value LIKE '[[!get_filter? &key1=`tip`]]' AND TVgorod.value LIKE '[[!get_filter? &key1=`gorod`]]'"]`
	&showLog = `1`
]]
Всё работает. Но проблема в том, что при открытии страницы где должен быть вывод ресурсов по-умолчанию в параметрах GET пока пусто, и сниппет [[!get_filter]] передает сразу же пустой параметр.

И выдает вот такой sql-запрос:
0.0003209: Added where condition: 0=TVcena.value >=  AND TVcena.value <=  AND TVtip.value LIKE '' AND TVgorod.value LIKE '', modResource.parent:IN(4), modResource.published=1, modResource.deleted=0
То есть после, например, TVcena.value >= должно стоять число, а там изначально пусто.
Соответственно это сопровождается ошибкой sql внизу лога из-за пустого значения.

Догадываюсь, что надо в сниппете добавить условие при пустом параметре и под это сформировать другой запрос в where. Но я не могу понять как?
Подскажите, пожалуйста.
09 марта 2018, 15:00    Anton Erin   G+  
0    61 0


Комментарии ()

  1. Баха Волков 09 марта 2018, 19:21 # 0
    Что-то типа:

    if (empty($key1) {
    return 'То что должен выводить сниппет если входное значение пусто';
    }
    Вы должны авторизоваться, чтобы оставлять комментарии.