Постраничный вывод (Пргинация) в ModxSmarty Хочу выложить сюда пример вывода постраницно, т.к. изначально пришлось перелопатить исходники, чтобы понять как это работает Думаю будет полезно для других. Итак. Сначала Шаблон вывода нумерованныйх страниц tpl/pagination.tpl {pagination resource_id=$modx->resource->id items=$items limit=$limit current=$current_page prev_next=true assign=pagination}

        <div class="pagination">
        {assign var=prev value=1}

        {if $pagination.prev.id}
        <a href="{$pagination.prev.href}">предыдущая</a>
        {/if}
       
        {foreach from=$pagination.pages item=page name=pagination}                 
            {if (($page.id-$prev) > 1)}
            <span>...</span>
            {/if}
            {if $page.type == 'current'}
            <span class="current">{$page.id}</span>
            {else}
            <a href="{$page.href}">{$page.id}</a>
            {/if}
        {assign var=prev value=$page.id}    
        {/foreach} 

        {if $pagination.next.id}
        <a href="{$pagination.next.href}">следующая</a>
        {/if}
         
        </div> Что мы передаем в пагинатор:

resource_id — ID — ресурса, на котором выводится постраничный вывод. Обязательно. По-умолчанию почему то стоит «1», поэтому если не указать, то добавляет ?page=2 к корню сайта items — Общее количество записей для вывода. Это значение будем получать в шаблоне самой страницы. см. ниже current — текущая страница (присваиваем в шаблоне страницы) limit — количество записей на странице (По умолчанию 5, но мы присвоим свое значение также в шаблоне страницы. Теперь сам шаблон страницы tpl/news.tpl {extends file="tpl/layout-white.tpl"}

{block name=after_content}

{assign var=limit value=7} {assign var=current_page value=$smarty.request.page|default:1}

{assign var=params value=[ "where" => [ "parent" => $modx->resource->id ] ,"page"=>$current_page ,"limit"=>$limit ,"sort" => "publishedon" ,"dir" => "ASC" ,"includeTVs" => true ]}

{processor action="site/web/getdata" ns="modxsite" params=$params assign=result}

{assign var=items value=$result.total} {include file="tpl/pagination.tpl"}

<ul id="news-list"> {foreach $result.object as $object} {assign var=atitle value=$object.pagetitle} {if $object.longtitle}{assign var=atitle value=$object.longtitle}{/if} <li> <h3><a href="{$object.uri}" title="{$atitle}">{$object.pagetitle}</a> </h3> <p>{$object.summary}</p> <div><small>{$object.publishedon|date_format:"%Y-%m-%d %H:%M:%S"}</small></div> </li> {/foreach} </ul>

{include file="tpl/pagination.tpl"} {/block} Тут в принципе интуитивно все понятно. Единственное что отмечу — это то откуда мы берем общее количество записей. {assign var=items value=$result.total}