Пагинация для msProduct с сортировкой по рейтингу

Добрый день.
У меня есть установленное дополнение CSS Star Rating. И есть вызов списка товаров с сортировкой по рейтингу:
[[!msProduct?
            &parents=`10000`
            &limit=`20`
            &tpl=`productsTab_msTpl`
            &leftJoin=`{"rating": {"class": "starRating", "on": "rating.star_id = msProduct.id"}}`
            &select=`{ "msProduct":"*", "rating":"rating.vote_count as vote_count,rating.vote_total as vote_rating" }`
            &sortby=`{"(vote_rating/vote_count)":"DESC"}`
            &includeThumbs=`thumb,thumb_hover`
]]
Как мне теперь прикрутить пагинацию? Запись вида
[[!pdoPage?
            &element=`msProduct`
            &parents=`10000`
            &limit=`20`
            &tpl=`productsTab_msTpl`
            &leftJoin=`{"rating": {"class": "starRating", "on": "rating.star_id = msProduct.id"}}`
            &select=`{ "msProduct":"*", "rating":"rating.vote_count as vote_count,rating.vote_total as vote_rating" }`
            &sortby=`{"(vote_rating/vote_count)":"DESC"}`
            &includeThumbs=`thumb,thumb_hover`
]]
не работает, т.к. &limit для msProduct устанавливает количество выборки, а для pdoPage количество записей на странице. Как можно это побороть?
Артём
15 декабря 2018, 13:30
modx.pro
970
0

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

Андрей
15 декабря 2018, 16:32
+1
Можно на fenom сделать так:

{var $ids = 'pdoResources' | snippet :[
    'element' => 'msProduct',
    'parents' => 10000,
    'limit' => 20,
    ....
    остальные параметры...
    ....
    'returnIds' => 1,
]}

{'!pdoPage' | snippet :[
    'element' => 'msProduct',
    'resources' => $ids,
    'tpl' => 'productsTab_msTpl',
    'includeThumbs' => 'thumb,thumb_hover'
    'limit' => 5
]}
{'page.nav' | placeholder}
    Артём
    16 декабря 2018, 12:40
    0
    Спасибо. Буду пробовать.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2