pdoResources замена offset
Всем привет, подскажите пожалуйста. Смотрите есть статья, в pdoResources передаётся в параметр offset её menuindex, чтобы в поле «Ещё статьи» выводились дальше те которые идут после неё, но и проблема в том что их 3 шт. и когда человек заходит на 3 от конца статью их становится 2 в блоке «Ещё статьи», потому что уже нечего показывать. Как сделать так если человек дошёл до 3х статей до конца и показывать уже нечего — выводить статьи уже с начала, то есть самые первые.
Всего допустим: 30 ресурсов, нужно чтобы уже на 27ой был уже offset от 1.
Логика какая, есть 30 ресурсов, находимся на 25ом — выводим в блоке 26, 27, 28 по menuindex, но когда на 27ом, то уже выводить почти нет чего, ведь всего 30 ресурсов, блоки начинают пустеть.
[[!pdoResources?
&parents=`2`
&limit=`3`
&depth=`10`
&tpl=`tpl.pdo-more`
&includeTVs=`global-video,img`
&resources=`-[[*id]]`
&sortby=`publishedon`
&sortdir=`DESC`
&offset=`[[*menuindex]]`
]]
Всего допустим: 30 ресурсов, нужно чтобы уже на 27ой был уже offset от 1.
Логика какая, есть 30 ресурсов, находимся на 25ом — выводим в блоке 26, 27, 28 по menuindex, но когда на 27ом, то уже выводить почти нет чего, ведь всего 30 ресурсов, блоки начинают пустеть.
[[!pdoResources?
&parents=`2`
&limit=`3`
&depth=`10`
&tpl=`tpl.pdo-more`
&includeTVs=`global-video,img`
&resources=`-[[*id]]`
&sortby=`publishedon`
&sortdir=`DESC`
&offset=`[[*menuindex]]`
]]
Комментарии: 21
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Это раздельно? — да
{if $_modx->resource.menuindex < $total — 3}
{set $offset = $_modx->resource.menuindex}
{else}
{set $offset = 0}
{/if}
{if $_modx->resource.menuindex < $total — 3}
{set $offset = $_modx->resource.menuindex}
{else}
{set $offset = 0}
{/if}
В шаблоне
$count = 0;
$parent = isset($parent)? (integer) $parent: 0;
if ($parent > 0) {
$criteria = array(
'parent' => $parent,
'deleted' => false,
'published' => true,
);
$count = $modx->getCount('modResource', $criteria);
}
return (string) $count;
Вроде бы всё норм