Математические расчеты и некэшированный pdoPage

Здравствуйте!

Столкнулась задачей сложения количества ресурсов отображаемых на странице.
На странице используются pdoResources и pdoPage:
[[pdoResources?
&parents=`10`
&resources=`15,52,87,44,153,68`
&includeTVs=`cats,dogs,cows`
&processTVs=`1`
&limit=`0`
&sortby=``
&sortdir=`ASC`
&tpl=`block-lazy`
&setTotal=`1`    
&totalVar=`total`
    ]]

<div id="pdopage">
    [[!+page.nav]]
    <div class="rows">
        [[!pdoPage?
&parents=`10`
&resources=`-15,-52,-87,-44,-153,-68`
&where=`summa >= 100000`
&includeTVs=`cats,dogs,cows`
&processTVs=`1`
&limit=`3`
&sortby=``
&sortdir=`ASC`
&tpl=`block`
&ajaxMode=`scroll`
&setMeta=`0`
&setTotal=`1`
&totalVar=`total2`
&cache=`1`
&cacheTime=`3600`
        ]]
    </div>
</div>
Мне необходимо на данной странице вывести общее количество ресурсов и поэтому использую такие модификаторы:
Найдено [[+num:add=`[[+total]]`:add=`[[+total2]]`]] ресурсов
Если запрос pdoPage вызывается кэшированным, то модификаторы выводят корректное общее количество ресурсов. Но если запрос pdoPage вызывается некэшированным, то есть так:
[[!pdoPage?
то в таком случае, при сложении, выводится только [[+total]], а [[+total2]] игнорируется.

Может кто-нибудь знает, как можно решить эту задачу? Насколько знаю, запрос pdoPage нельзя выполнять без !, то есть, кэшированным. Буду признательна за любую помощь. Спасибо!
Zulya
29 сентября 2020, 09:13
modx.pro
776
0

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

Павел Романов
29 сентября 2020, 11:04
+1
Не совсем понятно для чего два плейсхолдера. Оба вызова берут ресурсы из одного источника (&parents=`10`), без каких-либо условий, а отличаются только лимитом и шаблонами.
В этой ситуации у обоих total будет одинаковый (просто кол-во ресурсов у 10-го родителя) и не нужно ничего складывать — выводите один плейсхолдер.
    Zulya
    29 сентября 2020, 13:24
    0
    Здравствуйте, Павел!
    Спасибо за ваш ответ. Оказывается, я не добавила выборку по ресурсам.
    В первом &resources=`15,52,87,44,153,68`, а во втором &resources=`-15,-52,-87,-44,-153,-68` и &where=`summa >= 100000`.
    Поэтому я делала 2 плейсхолдера. Но с некшированным pdoPage, сложения total и total2 не получается.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2