Как сделать фильтрацию по TV полям?

Привет всем, не подскажите как правильно написать такой запрос в pdoResources

Лифт: пассажирский
Помещение : 1
Грузоподъёмность: от 300 до 800
Скорость: от 3 до 5
[[!pdoResources?
	&tpl=`product-tpl`
	&parents=`2`
	&includeTVs=`lift,type_room,load_capacity,speed`
	
	&tvFilters=`lift == пассажирский,
			   type_room == 1,
			   load_capacity >= 300,
			   load_capacity =< 800,
			   speed >= 3,
			   speed =< 5`
	
]]

И так пробовал
[[!pdoResources?
	&tpl=`product-tpl`
	&parents=`2`
	&includeTVs=`lift,type_room,load_capacity,speed`
	
	&where=`{
		"lift":"пассажирский",
		"type_room": 1,
		"load_capacity:IN":[300,800],
		"speed:IN":[3,5]
	  }`
	  
]]
  • Вопрос задан
  • 379 просмотров
Пригласить эксперта
Ответы на вопрос 1
DaniilMate
@DaniilMate
MODX разработчик
Попробуйте

[[!pdoResources?
  &tpl=`product-tpl`
  &parents=`2`
  &includeTVs=`lift,type_room,load_capacity,speed`
  
  &where=`{
    "lift":"пассажирский",
    "type_room":"1",
    "load_capacity:>=":"300",
    "load_capacity:<=":"800",
    "speed:>=":"3",
    "speed:<=":"5"
    }`
]]


IN тут нельзя использовать, это означает, что значение должно быть в массиве, а не между значениями. Кроме того, в where должен быть JSON, а это значит, что нужно использовать кавычки везде.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы