Две пагинации на одной странице

Люди добрый скиньте пожалуйста пример если у кого есть, реализация двух AJAX пагинаций на одной странице (два вызова pdoPage с &ajaxMode=`button`) читая документацию понял что вроде реализовать такое возможно, но догнать так и не могу как
Александр
07 апреля 2016, 12:09
modx.pro
4
2 707
0

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

Petro
08 апреля 2016, 08:38
0
Я делал так.
Первая:

<div id="sheetpage">
    <div class="rows">
[[!pdoPage? 
&element=`list1`  
&limit=`50`
&pageLimit=`10`
&totalVar=`total`
&pageVarKey=`sheet`
&pageNavVar=`sheet.nav`

&ajaxMode=`button`
&ajaxElemMore=`#sheetpage .btn-more`
&ajaxTplMore=`@INLINE <button class="btn btn-default btn-more">[[%pdopage_more]]</button>`

&ajaxElemWrapper=`#sheetpage`
&ajaxElemRows=`#sheetpage .rows`
&ajaxElemPagination=`#sheetpage .pagination`
&ajaxElemLink=`#sheetpage .pagination a`

&tplPageWrapper=`@INLINE <ul class="pagination">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul>`

&tplPageFirst=`@INLINE <li class="first"><a href="[[+href]]">Первая</a></li>`
&tplPageFirstEmpty=`@INLINE <li class="disabled"><span>Первая</span></li>`

&tplPageLast=`@INLINE <li class="last"><a href="[[+href]]">Последняя</a></li>`
&tplPageLastEmpty=`@INLINE <li class="disabled"><span>Последняя</span></li>`

&tplPagePrev=`@INLINE <li class="prev"><a href="[[+href]]">назад</a></li>`
&tplPagePrevEmpty=`@INLINE <li class="disabled"><span>назад</span></li>`

&tplPageNext=`@INLINE <li class="next"><a href="[[+href]]">дальше</a></li>`
&tplPageNextEmpty=`@INLINE <li class="disabled"><span>дальше</span></li>`

&tplPageActive=`@INLINE <li><span class="current">[[+pageNo]]</span></li>`
]]
    </div>
[[!+sheet.nav]]
</div>

И вторая:

<div id="pdopage">
    <div class="rows">
[[!pdoPage? 
&element=`list2`
&limit=`50`
&pageLimit=`10`
&totalVar=`total`
&ajaxMode=`button`

&ajaxElemMore=`#pdopage .btn-more`
&ajaxTplMore=`@INLINE <button class="btn btn-default btn-more">[[%pdopage_more]]</button>`

&tplPageWrapper=`@INLINE <ul class="pagination add-bottom">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul>`

&tplPageFirst=`@INLINE <li class="first"><a href="[[+href]]">Первая</a></li>`
&tplPageFirstEmpty=`@INLINE <li class="disabled"><span>Первая</span></li>`

&tplPageLast=`@INLINE <li class="last"><a href="[[+href]]">Последняя</a></li>`
&tplPageLastEmpty=`@INLINE <li class="disabled"><span>Последняя</span></li>`

&tplPagePrev=`@INLINE <li class="prev"><a href="[[+href]]">назад</a></li>`
&tplPagePrevEmpty=`@INLINE <li class="disabled"><span>назад</span></li>`

&tplPageNext=`@INLINE <li class="next"><a href="[[+href]]">дальше</a></li>`
&tplPageNextEmpty=`@INLINE <li class="disabled"><span>дальше</span></li>`

&tplPageActive=`@INLINE <li><span class="current">[[+pageNo]]</span></li>`
]]
    </div>
[[!+page.nav]]
</div>
    Александр
    08 апреля 2016, 18:15
    0
    Спасибо большое, по тестировал пока полет нормальный)
    Артур
    09 апреля 2020, 23:14
    0
    Я так и не понял в чем дело, вроде делал все по документации и точно как у тебя, может порядок аргументов не тот, но не работало ни в какую (fenom), сделал порядок аргументов как у тебя в первом примере, и заработало, магия…
    Выводил для вкладок в цикле, все работает, может кому пригодится.
    А так же может пригодится тем, кому нужно выводить Gallery через несколько PdoPage ajax button на одной странице.
    {foreach $albums as $item index=$index}   
        
            <div class="tab-content-item">
                
                <div class="gallery" id="pdopage{$index}">
        	        <div class="row rows">
        			    {'!pdoPage' | snippet : [
        			        'class' => 'galItem',
        			        'loadModels' => 'gallery',
        			        'leftJoin' => [
        			            'albumItem' => [
        			                'class' => 'galAlbumItem',
        			                'on' => 'galItem.id = albumItem.item'
        			            ],
        			            'album' => [
        			                'class' => 'galAlbum',
        			                'on' => 'albumItem.album = album.id'
        			            ]
        			        ],
        			        'select' => [
        			            'galItem' => '*',
        			            'albumItem' => 'rank'
        			        ],
        			        'where' => ['album.id' => $item.album],
        			        'tpl' => 'tpl.galleryItem',
        			        'limit' => 16,
        			        'sortby' => ['createdon' => 'DESC', 'rank' => 'ASC'],
        			        'dataFancybox' => 'album'~$index,
        			        
        			        'ajaxMode' => 'button',
        			        'ajaxTplMore' => 'tpl.ajaxTplMore',
        			        
        			        'ajaxElemWrapper' => '#pdopage'~$index,
        			        'ajaxElemRows' => '#pdopage'~$index~' .rows',
        			        'ajaxElemPagination' => '#pdopage'~$index~' .pagination',
        			        'ajaxElemLink' => '#pdopage'~$index~' .pagination a',
        			        'ajaxElemMore' => '#pdopage'~$index~' .btn-more',
        			        
        			        'pageVarKey' => 'page'~$index,
                                    'pageNavVar' => 'page'~$index~'.nav'
        			    ]}
        			</div>
        			
        			{$_modx->getPlaceholder('page'~$index~'.nav')}
        			
        		</div>
        	</div>
        {/foreach}
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3