pdoResources вывод по tv
Доброе утро.
Помогите с логикой, казалось бы гениальное решение обернулось крахом.
Суть в чем: надо на действующем сайта с 300 новостями добавить закрепление новостей поверх остальных, причем при закреплении эта самая новость выходит из общего списка ниже, чтобы не дублироваться, искал решение через tv chekbox у которого Да==1 закрепляем, а Нет==0 по умолчанию, но оказалось что modx revo не хранит значение по умолчанию.
в общем написал такой вывод:
вывод закрепленной новости
Но стоило только открепить новость, как вывод незакрепленных закономерно перестал работать.
подскажите, что дописать в &where для вывода в случае отсутствия первого условия
вопрос закрываю, спасибо Василий.
буду дальше учиться всему и вся, когда нибудь сделаю нормально, но видимо не сегодня
кому интересно временной костыль:
ставить галочку не выводить ресурс в меню, в выводе соответственно &showHidden=`0`
Помогите с логикой, казалось бы гениальное решение обернулось крахом.
Суть в чем: надо на действующем сайта с 300 новостями добавить закрепление новостей поверх остальных, причем при закреплении эта самая новость выходит из общего списка ниже, чтобы не дублироваться, искал решение через tv chekbox у которого Да==1 закрепляем, а Нет==0 по умолчанию, но оказалось что modx revo не хранит значение по умолчанию.
в общем написал такой вывод:
вывод закрепленной новости
[[!pdoResources?
&parents=`14`
&limit=`1`
&depth=`0`
&tvFilters=`zakr==1`
&tpl=`news_tpl_left`
&includeTVs=`img_news`
]]
ниже следующее:[[pdoResources:toPlaceholder=`no_zakr`?
&parents=`14`
&limit=`0`
&returnIds=`1`
&includeTVs=`zakr`
&where=`{ "zakr":1 }`
]]
[[pdoResources?
&parents=`14`
&limit=`2`
&tpl=`news_tpl_left`
&includeTVs=`img_news,zakr`
&where=`{"id:NOT IN":[ [[+no_zakr]] ]}`
]]
по советам получилось так: получаем список закрепленных новостей, и выводим те, которые к ним не относятся.Но стоило только открепить новость, как вывод незакрепленных закономерно перестал работать.
подскажите, что дописать в &where для вывода в случае отсутствия первого условия
вопрос закрываю, спасибо Василий.
буду дальше учиться всему и вся, когда нибудь сделаю нормально, но видимо не сегодня
кому интересно временной костыль:
ставить галочку не выводить ресурс в меню, в выводе соответственно &showHidden=`0`
Комментарии: 14
Это что за конструкция такая?
Почему не
[[pdoResources:toPlaceholder=`no_zakr`?
Впервые вижу.Почему не
[[pdoResources?
&toPlaceholder=`no_zakr`
видел такое предложение от ильи уткина в одном из вопросов здесь
переделал вывод, результат аналогичен полностью
переделал вывод, результат аналогичен полностью
И ты сам не можешь отдельно вывести плейсхолдер, отдельно вывести без плейсхолдера, вызвать некэширвованным и понять, на каком этапе проблема?
Нужно обязательно сразу написать ВЕСЬ код, без проверки, а когда он не заработает — строчить вопрос в сообществе?
«Отладка» — слышал такое слово?
Нужно обязательно сразу написать ВЕСЬ код, без проверки, а когда он не заработает — строчить вопрос в сообществе?
«Отладка» — слышал такое слово?
Василий, я понимаю ваше отношение к такого рода вопросам.
я в безвыходном положении, так как моих знаний катастрофически не хватает для этой проблемы. изначально когда есть вывод с закрепленкой все окей, а понимаю (ну или мне так кажется) беда, но вот исправить уже не получается, рассчитывал на помощь гуру, которые уже наверняка что-то подобное делали
я в безвыходном положении, так как моих знаний катастрофически не хватает для этой проблемы. изначально когда есть вывод с закрепленкой все окей, а понимаю (ну или мне так кажется) беда, но вот исправить уже не получается, рассчитывал на помощь гуру, которые уже наверняка что-то подобное делали
Честное слово, я каждый день удивляюсь.
Что показывает
Что показывает
Что, в конце концов, показывает
Что мешает выполнить все эти 3 действия по очереди и понять, на каком этапе не работает?
Что показывает
[[!pdoResources?
&parents=`14`
&limit=`0`
&returnIds=`1`
&includeTVs=`zakr`
&where=`{ "zakr":1 }`
]]
Что показывает
[[!pdoResources?
&parents=`14`
&limit=`0`
&returnIds=`1`
&includeTVs=`zakr`
&where=`{ "zakr":1 }`
&toPlaceholder=`no_zakr`
]]
[[!no_zakr]]
Что, в конце концов, показывает
[[!pdoResources?
&parents=`14`
&limit=`2`
&tpl=`news_tpl_left`
&includeTVs=`img_news,zakr`
&where=`{"id:NOT IN":[ [[!+no_zakr]] ]}`
&showLog=`1`
]]
Может, там ошибки в логе?Что мешает выполнить все эти 3 действия по очереди и понять, на каком этапе не работает?
получил такой результат при откреплении, и соответственно отсутствии плейсхолдера
0.0003171: Could not process query, error #1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND `modResource`.`parent` IN (14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29' at line 1
https://bezumkin.ru/utils/json
А что мешает сделать 2 вызова PdoResources: 1-ый выводит закрепленные записи, 2ой не закрепленные записи?
Не проставленные значения можно проставить простым перебором через getCollection.
А что мешает сделать 2 вызова PdoResources: 1-ый выводит закрепленные записи, 2ой не закрепленные записи?
Не проставленные значения можно проставить простым перебором через getCollection.
Мне кажется твоя проблема решится одним вызовом pdoResources
Просто варьируй asc и desc.
[[!pdoResources?
&parents=`14`
&limit=`0`
&depth=`0`
&tpl=`news_tpl_left`
&includeTVs=`zakr, img_news`
&sortby=`{
"zakr":"asc",
"menuindex":"desc"
}`
]]
Таким образом в первую очередь сортировка будет сначала по тв полю zakr, получится эффект закрепленного ресурса.Просто варьируй asc и desc.
после смены «zakr»:«desc» нужная новость закрепилась,
но далее когда должно сортироваться по menuindex сортировка начинается от новости 23 декабря (после неё еще около 10 новостей)
«menuindex»:«asc» — после закрепленной идут новости от первой самой
замена на publishedon ни дает никакого результата
но далее когда должно сортироваться по menuindex сортировка начинается от новости 23 декабря (после неё еще около 10 новостей)
«menuindex»:«asc» — после закрепленной идут новости от первой самой
замена на publishedon ни дает никакого результата
&sortby=`{
"zakr":"asc",
"publishedon":"desc"
}`
Так не работает?Попробуйте createdon…
пробовал, ресурсы в разнобой создавались, порядок именно по menuindex и по дате publishedon
дата публикации, если брать asc безупречна, по если desc то как писал выше
для menuindex сравнил показатели. последний ресурс имеет номер 150, а выводится 142… в итоге вторым
дата публикации, если брать asc безупречна, по если desc то как писал выше
для menuindex сравнил показатели. последний ресурс имеет номер 150, а выводится 142… в итоге вторым
то есть у вас сортировка должна идти по двум полям? publishedon и menuindex?
И так не срабатывает?
И так не срабатывает?
&sortby=`{
"zakr":"asc",
"publishedon":"desc",
"menuindex":"asc"
}`
Варьируйте порядок в sortby по приоритету
При такой сортировке
меняю на
"zakr":"asc"
закрепляемый ресурс не отображается в 3 ресурсовменяю на
"zakr":"desc"
закрепляемый первый, а за ним 2 не по порядку, и не по дате совершенно (провел порядковый номер и дату публикации) Варьируйте порядок в sortby по приоритетуделал и делаю
ведать не моё это сегодня, упрямо одно и тоже, либо с самого начала, либо эти 2 клятых ресурса, причем если бы они подряд шли, так нет, между ними еще 1-2 ресурса есть
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.