Easycomm: вывод отзывов на главной странице

Добрый день!
Подскажите пожалуйста. Какой вызов создать для вывода отзывов от компонента Easycomm на главной странице сайта? Также необходимо чтобы отбирались отзывы с subject — ом отзыв.
Сами отзывы добавляются к внутренним страницам, которые являются дочерними ресурсами ресурса родителя с id 2.
У них такая структура:
— Главная
— Каталог
— Каталог — страница 1 (к этим ресурсам добавляются отзывы и вопросы с помощью Easycomm)
— Каталог — страница 2 (к этим ресурсам добавляются отзывы и вопросы с помощью Easycomm)
— Каталог — страница 100 (к этим ресурсам добавляются отзывы и вопросы с помощью Easycomm)

Компонент используется и для отзывов и вопросов.
Для отзывов, при добавлении отзыва, к subject автоматически записывается слово отзыв, а к вопросам автоматически записывается слово вопрос в subject.

Я пробовала следующие способы чтобы вывести последние отзывы с subject «отзыв»:

1-й способ:

[[!pdoResources?
&element=`ecMessages`
&limit=`10`
&tpl=`ecMessages.Row.Home-Review`
&resourceFields=`id,pagetitle`
&where=`{"subject":"отзыв"}`
]]
2-й способ:

[[!ecMessages? &tpl=`ecMessages.Row.Home-Review` &limit=`0` &subject=`отзыв` ]]
Но ничего не выводит. Подскажите пожалуйста, какой вызов создать для вывода отзывов на главной странице сайта с выборкой отзывов с subject-ом «отзыв» из дочерних ресурсов ресурса каталог?
Заранее спасибо!
Zulya
11 сентября 2023, 19:23
modx.pro
1
907
0

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

Наумов Алексей
12 сентября 2023, 10:02
+1
Второй способ, но вы потеряли параметр thread (и threads), который укажет что нам нужно выводить все отзывы, а не только те, что есть у текущей страницы:

[[!ecMessages? 
    &threads=`*`
    &tpl=`ecMessages.Row.Home-Review`
    &limit=`0`
    &subject=`отзыв` 
]]
    Zulya
    12 сентября 2023, 16:45
    0
    Здравствуйте, Алексей!
    Спасибо за помощь! Так начали выводиться отзывы с subject-ом «отзыв».
    Возможно ли как-то указать чтобы выборка отзывов была из дочерних страниц категории, например, категории с id 2?
    Данный блок отзывов выводится на главной странице.
      Наумов Алексей
      13 сентября 2023, 10:02
      1
      +1
      У вас несколько вариантов:
      1. Указать в параметре threads строку с нужными вам цепочками, например resource-5,resource-6,resource-7, где 5,6,7 — как раз те самые дочерние страницы. Но этот способ нормально будет работать только если таких страниц не так много, 5..10..100.
      2. Изначально можно изменить способ формирования параметра thread, например сделать его вида category-2-product-5, тогда можно делать запрос вида thread LIKE 'category-2-%'. Но тоже, если тысячи товаров, то LIKE может быть не быстрым.

      Если речь о тысячах товаров — нужно придумывать что-то другое, я бы рассмотрел возможность добавления какой-нибудь колонки в таблицу modx_ec_threads, куда бы записывались данные, по которым фильтровать удобно. В вашем случае колонка category со значением 2.
        Zulya
        13 сентября 2023, 10:22
        0
        Добрый день, Алексей! Спасибо за подробный ответ!
        Страниц с отзывами примерно 200 страниц. Но на главной будут выводиться 16 последних отзывов из этих 200 страниц.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4