Настроить фильтрацию на сайте
Всем доброго времени суток!
Прошу помочь с задачей фильтрации выводимых ресурсов, располагаемых на одной странице в двух разных местах.
На сайте в основной части страницы выводится перечень ресурсов с помощью pdoPage:
Сортировка выполняется по дате публикации, начиная с самого свежего.
На странице выводится 4 ресурса.
На той же странице есть Сайдбар
В нем выводится еще один список ресурсов, которые сделаны в шаблоне 42
Порядок вывода — начиная с самого старого
Задача надо настроить вывод ресурсов в сайд баре таким образом, что бы в него не попали ресурсы с шаблоном 42, которые уже выведены в основной части страницы.
Другими словами я хочу избежать вывода одинаковых превьюшек в рамках одной страницы.
Я могу себе представить решение таким образом:
Вывод первых 4-х ресурсов с главной части страницы записывается в переменную, а в сайдбаре выводятся все ресурсы с шаблоном 42, кроме тех, что были записаны в переменной.
Другой, более упрощенный, как мне кажется, алгоритм — это просто вывести в сайдбаре все страницы кроме последних самых свежих 4-х страниц. Без всяких проверок, потому что это как раз и будут те самые 4-ре страницы, опубликованные в основной части. Но как это сделать на практике я тоже не понимаю.
Как такое можно реализовать? Возможно есть другие способы решения задачи. Буду благодарен за помощь.
Прошу помочь с задачей фильтрации выводимых ресурсов, располагаемых на одной странице в двух разных местах.
[[!pdoPage?
&showHidden=`1`
&tpl=`tpl_article_item`
&hideContainers=`1`
&pageVarKey=`page`
&parents=`[[*id]]`
&where=`{"0":{"template:in":[30,31,42]}, "parent:=":[[*id]], "TVtags2.value:LIKE":"%[[!#GET.tag]]%"}`
&limit=`4`
&includeTVs=`tags2,blog_card_image`
&processTVs=`1`
&sortby=`{"publishedon":"DESC"}`
&includeContent=`1`
&tplPagePrevEmpty=`@INLINE`
&tplPageNextEmpty=`@INLINE`
&tplPageSkip=`@INLINE`
&tplPageFirstEmpty=`@INLINE`
&tplPageLastEmpty=`@INLINE`
]]
Выборка ресурсов происходит из шаблонов 30,31,42.Сортировка выполняется по дате публикации, начиная с самого свежего.
На странице выводится 4 ресурса.
На той же странице есть Сайдбар
В нем выводится еще один список ресурсов, которые сделаны в шаблоне 42
[[!PDOResources?
&showHidden=`1`
&parents=`77`
&resources=`-[[*id]]`
&hideContainers=`1`
&tpl=`latestArticleTpl`
&includeTVs=`blog_card_image`
&processTVs=`1`
&where=`{"0":{"template:in":[42]},"parent:=":77,"id:!=":[[*id]]}`
&tvFilters=`[[!getTagFilter? &tags=`[[*tags2]]`]]`
&limit=`7`
&includeContent=`1`
&sortby=`{"publishedon":"ASC"}`
]]
Количество выводимых ресурсов -не более 7Порядок вывода — начиная с самого старого
Задача надо настроить вывод ресурсов в сайд баре таким образом, что бы в него не попали ресурсы с шаблоном 42, которые уже выведены в основной части страницы.
Другими словами я хочу избежать вывода одинаковых превьюшек в рамках одной страницы.
Я могу себе представить решение таким образом:
Вывод первых 4-х ресурсов с главной части страницы записывается в переменную, а в сайдбаре выводятся все ресурсы с шаблоном 42, кроме тех, что были записаны в переменной.
Другой, более упрощенный, как мне кажется, алгоритм — это просто вывести в сайдбаре все страницы кроме последних самых свежих 4-х страниц. Без всяких проверок, потому что это как раз и будут те самые 4-ре страницы, опубликованные в основной части. Но как это сделать на практике я тоже не понимаю.
Как такое можно реализовать? Возможно есть другие способы решения задачи. Буду благодарен за помощь.
Комментарии: 1
Неужели никто не знает как решить такую задачу?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.