Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 147 комментариев

Алексей Карташов
Алексей Карташов
Всё, отбой! Заработало!

В яваскрипте ж нету значения NULL, есть только null.
Написал вот так:
&where=`[{«TVshow_in_main.value:!=»: «1», «OR:TVshow_in_main.value:IS»: null]}`
и всё ок — и вложенность соблюдается и условие IS NULL прописывается правильно.

Только если просто писать название заинклюденного tv-параметра, то в конечном запросе получается modResource.show_in_main. Поэтому TVshow_in_main.value.
Василий Наумкин
Василий Наумкин
Ну ты чего, не уложняй.

Если писать как я показываю — это чистое SQL условие. Добавляй там скобочки, никаких массивов не нужно.
Поэтому имена ТВ и не заменяются — ибо обработки нет никакой.

То есть, это строка в JSON:
&where=`["
	Здесь чистое SQL условие, как оно будет при вызове сниппета, со скобочками и прочим.
"]`
Алексей Карташов
Алексей Карташов
Ту статью до этого не видел, но да, проверка на NULL нужна именно из-за того, что там написано.

Попробовал написать так, как ты предложил — ничего не вышло, но заработал вот такой вариант:
&where=`["TVshow_in_main.value != 1 OR TVshow_in_main.value IS NULL"]`
Т.е. теперь условие формируется верно, но опять «но» — xpdo не соблюдает вложенность при таком варианте. Получается вот так:
<...> AND TVshow_in_main.value != 1 OR TVshow_in_main.value IS NULL <...>
хотя должны были быть скобки:
<...> AND (TVshow_in_main.value != 1 OR TVshow_in_main.value IS NULL) <...>
Попробовал в &where=`` сделать вложенный массив:
&where=`[["TVshow_in_main.value != 1 OR TVshow_in_main.value IS NULL"]]`
Результата не принесло — условия снова без скобок. Даже и не знаю…

p.s. в статье была ошибка — json-условия были написаны без массива, т.е. без '[]'. А тестировал я как положено. Статью поправил.
Василий Наумкин
Василий Наумкин
Игорь Козлов
Игорь Козлов
Да, понимаю)
Хостингу написал…
TicketComments я лепил сюда, и они мне больше понравились. Но клиенту жестко надо форма для комментов сбоку — и тут с ним уже никак не поспоришь. А прилепить твою форму для комментов сбоку не получилось…
Василий Наумкин
Василий Наумкин
Макеев Александр
Макеев Александр
Не совсем понял ответ.
Суть его работы — выборка всех нужных данных за один запрос в БД.
Все равно не понятно почему он не верно срабатывает.

И непонятно, зачем ты вызываешь его кэшированным в чанке. Это в любом случае, как то неправильно.
Я его и выше использую кешированным (На время теста просто не кешировал) не понимаю что тут может быть не правильного, а рекурсивный вызов все же иногда требуется, поэтому и решил отписать, мало ли кто еще решит так использовать.

В любом случае спасибо вам за огромный труд проделанный для сообщества!