PdoResources стал игнорировать where
Вот такое странное поведение заметил у PdoResources, он стал игнорировать условия из параметра where.
Вот такой вот вызов ранее прекрасно отбирал один элемент, у которого TV in_home равнялось Да.
Больше всего похоже на сбои самого MODX, его парсера. Но может у кого есть идеи?
Спасибо.
Вот такой вот вызов ранее прекрасно отбирал один элемент, у которого TV in_home равнялось Да.
[[!pdoResources?
&parents=`14`
&depth=`1`
&limit=`1`
&sortby=`id`
&sortdir=`ASC`
&tpl=`tpl.mainVideo`
&includeTVs=`img,in_home`
&tvPrefix=``
&where=`{"in_home":"Да"}`
]]
Ничего не менялось, но теперь он совершенно игнорит условие. Сортирует по ID, выдает один вариант, но при этом плевать хотел на условие. К примеру при отключенном чанке выдаетArray
(
[id] => 382
[type] => document
[contentType] => text/html
[properties] => Array
(
[tickets] => Array
(
[disable_jevix] =>
[process_tags] =>
)
[ms2gallery] => Array
(
[media_source] => 2
)
)
[img] => uploads/news/2017-02-21-b198c-clip-100kb.jpg
[in_home] =>
[idx] => 1
[link] =>
)
Указываю лишь часть полей массива, но здесь видно что TV in_home пусто. Не помогает и указание других условий, не связанных с TV, а к примеру ограничение по pagetitle. Среди ресурсов, которые участвуют в выборке есть тот у кого in_home имеет значение Да.Больше всего похоже на сбои самого MODX, его парсера. Но может у кого есть идеи?
Спасибо.
Комментарии: 7
А если с пробелом после фиг. скобки?
Ну или использовать tvFilters:
&where=`{ "in_home":"Да" }`
Просто если Fenom на страницах включен, пару раз замечал, что фигурная скобка в условии срабатывает )).Ну или использовать tvFilters:
&tvFilters=`in_home===Да`
Спасибо, пробовал фильтр. Тоже не реагирует на него.
После открывающейся фигурной скобки? Попробую…
После открывающейся фигурной скобки? Попробую…
Если не реагирует на &tvFilters, то дело не в скобках.
Что в базе в TV у этого ресурса?
Так что-нибудь выдает?
Что в базе в TV у этого ресурса?
Так что-нибудь выдает?
[[pdoResources?
&parents=`14`
&depth=`1`
&tpl=`@INLINE [[+pagetitle]]`
&tvFilters=`in_home===Да`
]]
Не выводит ничего, хотя вот данные из ресурса, который лежит в parents 14
Array
(
[id] => 388
[type] => document
[contentType] => text/html
[pagetitle] => «Сенат»: как защитить российских потребителей
[longtitle] =>
[description] =>
[alias] => «senat»-kak-zashhitit-rossijskix-potrebitelej
[link_attributes] =>
[published] => 1
[pub_date] => 0
[unpub_date] => 0
[parent] => 14
[isfolder] => 0
[introtext] =>
[richtext] => 1
[template] => 7
[menuindex] => 0
[searchable] => 1
[cacheable] => 1
[createdby] => 1
[createdon] => 1484129460
[editedby] => 1
[editedon] => 1488277887
[deleted] => 0
[deletedon] => 0
[deletedby] => 0
[publishedon] => 1484129340
[publishedby] => 1
[menutitle] =>
[donthit] => 0
[privateweb] => 0
[privatemgr] => 0
[content_dispo] => 0
[hidemenu] => 0
[class_key] => Ticket
[context_key] => web
[content_type] => 1
[uri] => media/video/388.html
[uri_override] => 1
[hide_children_in_tree] => 0
[show_in_tree] => 0
[properties] => Array
(
[tickets] => Array
(
[disable_jevix] =>
[process_tags] =>
)
[ms2gallery] => Array
(
[media_source] => 2
)
)
[in_home] => Да
[idx] => 1
[link] =>
)
Здесь виден TV [in_home] => Да
Но фишка то в том, что раньше работало.
Ты, скорее всего тулзы обновил. Не суть — «Да» и «Нет» — не сок вариант. Попробуй изменить в самом tv-поле значения, среди перечисленных возможных Да==1||Нет==0 и измени параметры выборки на in_home: 1. Единица литералом(без кавычек)! Это важно.
UPD
и не используй tvfilters. where надежнее
UPD
и не используй tvfilters. where надежнее
Спасибо, Никита. Согласен, да и нет не лучшие варианты для логики компьютера, это наши человеческие аналоги 0 и 1. Так было сделано до меня и в общем-то работало.
tvfilters не использовалось, выборка шла по условию where.
Все таки прихожу ко мнению, что это глюки самого MODX.
pdoResources стал выдавать «странные» результаты, если менять порядок параметров.
Так к примеру в имена полей стали подмешиваться лишние символы.
tvfilters не использовалось, выборка шла по условию where.
Все таки прихожу ко мнению, что это глюки самого MODX.
pdoResources стал выдавать «странные» результаты, если менять порядок параметров.
Так к примеру в имена полей стали подмешиваться лишние символы.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.