Сложный запрос PdoResources
Здравствуйте. Вы можете помочь создать запрос с pdoResources?
Есть страница города. Есть страница «Каталог». Есть страница «Предложение».
Для шаблона «Предложение» используются TV-шки cities и catalog. В этих TV-шках отображаются список городов и название каталога. Использовала ТВ множественный выбор списков для выбора городов и названий каталогов.
Дело в том, что в ресурсе «Предложение» в его ТВ-шках выбираются не все города-ресурсы и каталоги-ресурсы. Например, в городе Абакан, могут быть доступны только каталог 1, 2, 5, 7.
Мне необходимо создать такой запрос:
Если в ТВ-шках предложении указан город и каталог, то на странице города необходимо вывести список каталога/ов в этом городе, если город не указан вместе с «каталогом/ами» в Тв-шках ресурса «предложение», то тогда не показывать отсутствующий/ие каталог/ов в этом городе.
Мне необходимо чтобы с помощью запроса можно было проверить, город и каталог выбраны ли в ТВ-ках ресурса предложение и если город и каталог выбраны в ресурсе предложении, то на странице города показать список каталогов, которые доступны в этом городе.
Буду очень благодарна, если поможете с запросом. Спасибо!
Есть страница города. Есть страница «Каталог». Есть страница «Предложение».
Для шаблона «Предложение» используются TV-шки cities и catalog. В этих TV-шках отображаются список городов и название каталога. Использовала ТВ множественный выбор списков для выбора городов и названий каталогов.
Дело в том, что в ресурсе «Предложение» в его ТВ-шках выбираются не все города-ресурсы и каталоги-ресурсы. Например, в городе Абакан, могут быть доступны только каталог 1, 2, 5, 7.
Мне необходимо создать такой запрос:
Если в ТВ-шках предложении указан город и каталог, то на странице города необходимо вывести список каталога/ов в этом городе, если город не указан вместе с «каталогом/ами» в Тв-шках ресурса «предложение», то тогда не показывать отсутствующий/ие каталог/ов в этом городе.
[[pdoResources:default=`No results`?
&parents=`2`
&tvFilters=`catalog==%#[[*id]]#%`
&includeTVs=`name,year,author`
&processTVs=`1`
&sortby=`{ "pagetitle":"ASC" }`
&tpl=`@INLINE <a href="[[+uri]]?city=[[*alias]]">[[+pagetitle]] в [[*longtitle]]</a> ||`
]]
Тут в parents указан родитель ресурсов «Каталоги». Но в ресурсах-каталоги не используют ТВ-шки. Тв-шки используются только в предложениях. Думаю, что поэтому у меня не работает этот код.Мне необходимо чтобы с помощью запроса можно было проверить, город и каталог выбраны ли в ТВ-ках ресурса предложение и если город и каталог выбраны в ресурсе предложении, то на странице города показать список каталогов, которые доступны в этом городе.
Буду очень благодарна, если поможете с запросом. Спасибо!
Комментарии: 5
Не ужели тут никто не сможет помочь? Насколько поняла, в этом сайте собираются профессионалы веб-программисты MODX. Думала, что мне быстро ответят и помогут тут. Сижу и слежу за обновлениями надеясь, что мне ответят.
Если это невозможно реализовать, пожалуйста, так и напишите.
Если это невозможно реализовать, пожалуйста, так и напишите.
Понятное дело, что все профессиональные программисты сидят без работы и ждут — кому бы помочь.
Наймите одного такого в соответствующем разделе, чтобы он написал вам свой сниппет для выборки. Через pdoResources это если и получится сделать, то некрасиво.
Наймите одного такого в соответствующем разделе, чтобы он написал вам свой сниппет для выборки. Через pdoResources это если и получится сделать, то некрасиво.
Спасибо, что ответили.
Не могли бы ли показать пример сниппета, с помощью которого можно было реализовать эту задачу.
Спасибо!
Не могли бы ли показать пример сниппета, с помощью которого можно было реализовать эту задачу.
Спасибо!
Пожалуй, самым простым, но не самым правильным решением будет два вызова pdoResources.
В первом вызове выбрать список всех возможных каталогов, условно как-то так:
P.S.: Мне не совсем ясно, зачем там name,year,author и зачем их процессить, если они все равно в шаблоне не используются, ну да ладно.
В первом вызове выбрать список всех возможных каталогов, условно как-то так:
[[pdoResources:replace=`||==,`?
&tvFilters=`cities==%#[[*id]]#%`
&parents=`ид_родителя_предложений`
&includeTVs=`cities,catalog`
&tpl=`@INLINE {{+tv.catalog}}`
&outputSeparator=`,`
&toPlaceholder=`cataloglist`
]]
А затем сделать выборку каталогов по списку полученных ресурсов:[[pdoResources:default=`No results`?
&parents=`ид_родителя_каталогов`
&resources=`[[+cataloglist]]`
&includeTVs=`name,year,author`
&processTVs=`1`
&sortby=`{ "pagetitle":"ASC" }`
&tpl=`@INLINE <a href="[[+uri]]?city=[[*alias]]">[[+pagetitle]] в [[*longtitle]]</a> ||`
]]
Примерно… P.S.: Мне не совсем ясно, зачем там name,year,author и зачем их процессить, если они все равно в шаблоне не используются, ну да ладно.
Добрый день, Droug.
Спасибо, что написали и хотели помочь. У меня почему-то все равно отображается список каталогов на странице города, хотя в ресурсе-предложении не выбран город. Пробовала поменять значения, но результат тот же. Но все равно, спасибо вам за помощь.
Спасибо, что написали и хотели помочь. У меня почему-то все равно отображается список каталогов на странице города, хотя в ресурсе-предложении не выбран город. Пробовала поменять значения, но результат тот же. Но все равно, спасибо вам за помощь.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.