Сложный запрос PdoResources

Здравствуйте. Вы можете помочь создать запрос с pdoResources?

Есть страница города. Есть страница «Каталог». Есть страница «Предложение».
Для шаблона «Предложение» используются 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 указан родитель ресурсов «Каталоги». Но в ресурсах-каталоги не используют ТВ-шки. Тв-шки используются только в предложениях. Думаю, что поэтому у меня не работает этот код.

Мне необходимо чтобы с помощью запроса можно было проверить, город и каталог выбраны ли в ТВ-ках ресурса предложение и если город и каталог выбраны в ресурсе предложении, то на странице города показать список каталогов, которые доступны в этом городе.

Буду очень благодарна, если поможете с запросом. Спасибо!
Zulya
16 ноября 2016, 10:56
modx.pro
1 889
0

Комментарии: 5

Zulya
16 ноября 2016, 16:10
0
Не ужели тут никто не сможет помочь? Насколько поняла, в этом сайте собираются профессионалы веб-программисты MODX. Думала, что мне быстро ответят и помогут тут. Сижу и слежу за обновлениями надеясь, что мне ответят.
Если это невозможно реализовать, пожалуйста, так и напишите.
    Василий Наумкин
    16 ноября 2016, 19:56
    +1
    Понятное дело, что все профессиональные программисты сидят без работы и ждут — кому бы помочь.

    Наймите одного такого в соответствующем разделе, чтобы он написал вам свой сниппет для выборки. Через pdoResources это если и получится сделать, то некрасиво.
      Zulya
      16 ноября 2016, 21:03
      0
      Спасибо, что ответили.
      Не могли бы ли показать пример сниппета, с помощью которого можно было реализовать эту задачу.
      Спасибо!
    Droug
    17 ноября 2016, 11:45
    0
    Пожалуй, самым простым, но не самым правильным решением будет два вызова pdoResources.
    В первом вызове выбрать список всех возможных каталогов, условно как-то так:
    [[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 и зачем их процессить, если они все равно в шаблоне не используются, ну да ладно.
      Zulya
      17 ноября 2016, 13:41
      0
      Добрый день, Droug.
      Спасибо, что написали и хотели помочь. У меня почему-то все равно отображается список каталогов на странице города, хотя в ресурсе-предложении не выбран город. Пробовала поменять значения, но результат тот же. Но все равно, спасибо вам за помощь.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5