AJAX пагинация при помощи pdoPage для TicketComments. Pdopage modx


Вывод пагинации без дублирования ссылок на первую и последнюю страницы с помощью pdoPage

1)Сниппет:[[!pdoPage? &tpl=`New` &limit=`4` &includeTVs=`image` &limit=`2` &pageLimit=`3` &tplPageWrapper=`@INLINE <nav aria-label="pagination"><ul>[[+prev]][[+first]][[+pages]][[+last]][[+next]]</ul></nav>` &tplPageFirst=`@INLINE <li><a href="[[+href]]">1</a></li>` &tplPageLast=`@INLINE <li><a href="[[+href]]">[[+pageCount]]</a></li>` &tplPage=`@INLINE <li><a href="[[+href]]">[[+pageNo]]</a></li>` &tplPageActive=`@INLINE <li><a href="[[+href]]">[[+pageNo]]</a></li>` &tplPagePrev=`@INLINE <li><a href="[[+href]]"><img src="assets/app/img/prev.png" alt="Предыдущая"><span>Next</span></a></li>` &tplPageNext=`@INLINE <li><a href="[[+href]]"><img src="assets/app/img/next.png" alt="Следующая"><span>Next</span></a></li>` &tplPagePrevEmpty=`@INLINE <li><a ><img src="assets/app/img/prev.png" alt="Предыдущая"><span>Next</span></a></li>` &tplPageNextEmpty=`@INLINE <li><a ><img src="assets/app/img/next.png" alt="Следующая"><span>Next</span></a></li>` &tplPageFirstEmpty=`` &tplPageLastEmpty=`` ]]2) Результат при активной 2-ой:

3) Результат при активной 1-ой:

Хотелось бы получить такой результат: закрепленные ссылки на первую и последнюю страницы, между ними 3 промежуточные страницы. Пробовал найти как выводить плейсхолдер [[+pages]] без первой и последней, но не нашел.

Заранее благодарю за любые мысли, направляющие в нужную сторону.

modx.pro

Многократный вызов pdoPage / modx.pro

Добрый день как можно многократно на одной странице вызвать снипет pdoPage, проблема заключается в том что у меня созданы табы, и при каждом открытии таба, вызывается снипет pdoPage <div> <div> <!-- товары которые будут выводится в этих блоках --> <h4>Сварочные маски</h4> <div><div>[[!pdoPage? &element=`msProducts` &limit=`3` &includeThumbs=`150x150` &sortdir=`ASC` &parents=`20` &ajaxMode=`default` [[--&tplPageWrapper=`@INLINE <div ><ul>[[+prev]][[+pages]][[+next]]</ul></div>` &tplPagePrev=`@INLINE <li><a href="[[+href]]">&lt;</a></li>` &tplPageNext=`@INLINE <li><a href="[[+href]]">&gt;</a></li>` &tplPagePrevEmpty=`@INLINE <li><a href="[[+href]]">&lt;</a></li>` &tplPageNextEmpty=`@INLINE <li><a href="[[+href]]">&gt;</a></li>` &tplPage=`@INLINE <li><a href="[[+href]]">[[+pageNo]]</a></li>`]] &tplPageActive=`@INLINE <li><a[[+href]]">[[+pageNo]]</a></li>` &tpl=`@INLINE <div> <form method="post"><div><p>[[+pagetitle]]</p> <div><a href="[[+link]]"><img src="[[+image]]"></a></div> <h3><span>[[+price]] тг.</span></h3> <div> <span>-</span> </div> <input name="count" value="1"> <div> <span>+</span> </div> <button type="submit" name="ms2_action" value="cart/add"> Купить </button> </div> <input type="hidden" name="id" value="[[+id]]"> <input type="hidden" name="options" value="[]"> </form> </div>` ]] </div><div>[[!+page.nav]]</div></div> <div></div> </div> когда дублирую этот код (соответственно с другой категорией товаров) то пагинация пропадает вообще. Мне нужно вызвать pdoPage несколько раз и со своей пагинацией, возможно ли это?

modx.pro

два pdoPage на одной странице в режиме ajax / modx.pro

Добрый день.

Есть страница, на которой нужно два раза вызывать pdoResources в обертке pdoPage. Количество отобранных ресурсов соответственно разное и для каждого своя пагинация. Но в режиме ajax оба вызова pdoPage оказываются взаимосвязаны, хотя для каждого задаются свои оберктки, у каждого вызова разное имя плейсхолдера для вывода пагинации.

<div> <div> [[!+page.nav]] {$_modx->runSnippet('!pdoPage',[ 'element' => 'pdoResources', 'ajaxElemMore' => '#pdopage .view-more', 'ajaxTplMore' => '@INLINE <div>Смотреть ещё</div>', 'ajaxMode' => 'button', 'limit' => 1, 'tpl' => 'oneProject.tpl', 'tvPrefix' => '', 'includeTVs' => 'image', ])} </div> </div> И второй вызов<div> <div> [[!+kol]] {$_modx->runSnippet('!pdoPage',[ 'element' => 'pdoResources', 'ajaxElemWrapper' => '#pdopage2', 'ajaxElemRows' => '#pdopage2 .rows', 'ajaxElemPagination' => '#pdopage2 .pagination', 'ajaxElemLink' => '#pdopage2 .pagination a', 'ajaxElemMore' => '#pdopage2 .view-more2', 'parents' => 5, 'pageNavVar' => 'kol' 'ajaxTplMore' => '@INLINE <div>Смотреть ещё</div>', 'ajaxMode' => 'button', 'limit' => 1, 'tpl' => 'oneProject.tpl', 'tvPrefix' => '', 'includeTVs' => 'image', ])} </div> </div>Имеет идентификатор pdopage2, другой плейсхолдер пагинации. Но при всем при этом, обе пагинации связаны. К примеру первый вызов дает выборку из 2 ресурсов и должен подгружать при нажатии ссылки по одному ресурсу. А вторая выборка содержит три ресурса и должна подгружать так же. Независимо от первой. А у меня получается, что если показать три ресурса из второй выборки, то первая уже не реагирует. Перегружаю страницу. Кликаю на показать для первой выборки — отлично грузится второй ресурс. Кликаю на показать для второй выборки — грузится второй ресурс, а третий уже нет.

Ответы которые я нашел все твердят — задай разное имя для плейсхолдера пагинации и все будет ок. Но не срабатывает(. Когда-то месяца 4 назад я сталкивался с подобным и нарыл что дело в хеше, который создается при загрузке страницы и так далее, но как его побороть или хотя бы где о нем нормально почитать…

В общем, буду рад советам. Спасибо.

modx.pro

AJAX пагинация при помощи pdoPage для TicketComments / modx.pro

Здравствуйте. Необходимо реализовать догрузку комментариев на странице, при помощи AJAX кнопки, для этих целей я взял pdoPage. Вот код вызова:<div> <div> <div> <span>[[*pagetitle]]</span> </div> <div> <div> <div> <span>Все отзывы ([[+total]])</span> </div> [[!pdoPage? &element=`TicketComments` &allowGuest=`1` &autoPublishGuest=`0` &limit=`3` &ajaxMode=`button` &ajaxElemRows=`#pdopage .comments__list` &ajaxElemMore=`#pdopage .buttonMore__link--comments` &ajaxTplMore=`review__buttonMore` &tplComments=`review__wrapper` &tplCommentForm=`review__form` &tplCommentFormGuest=`review__form` &tplCommentAuth=`review__item` &gravatarUrl=`/img/user__ico.png` ]] </div> </div> </div> </div> <!--Контейнер для комментов КОНЕЦ--> Подгрузка через кнопку работает, то есть комментарии добавляются, однако они добавляются с еще одной формой.

TicketComments – самостоятельно добавляет форму в разметку страницы, однако при такой вот догрузки он плодит эти формы, насколько я понял. Возможно есть мозжность вывести форму один раз самостоятельно, плейсхолдером а не использовать автоматическое ее добавление на странице или как-то по другому реализовать. Возможно я что-то неправильно разметил по блокам, но вроде как все верно, вот разметка review__wrapper:

<!--Лист комментариев--> <div> [[+comments]] </div> <!--Лист комментариев КОНЕЦ--> <!--Пагинация комментариев--> [[!+page.nav]] <!--Пагинация комментариев КОНЕЦ-->

modx.pro

Пагинация pdoPage / modx.pro

Добрый день! Делаю пагинацию на главной. Вставляю код [[!pdoPage? &parents=`0` &ajaxMode=`button` &limit=`5` ]] [[!+page.nav]]В ответ получаю портянку ошибок: Array ( [plPrefix] => [maxLimit] => 100 [page] => 1 [pageVarKey] => page [pageLimit] => 5 [element] => pdoResources [pageNavVar] => page.nav [pageCountVar] => pageCount [tplPage] => @INLINE <li><a href="[[+href]]">[[+pageNo]]</a></li> [tplPageWrapper] => @INLINE <div><ul>[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul></div> [tplPageActive] => @INLINE <li><a href="[[+href]]">[[+pageNo]]</a></li> [tplPageFirst] => @INLINE <li><a href="[[+href]]">[[%pdopage_first]]</a></li> [tplPageLast] => @INLINE <li><a href="[[+href]]">[[%pdopage_last]]</a></li> [tplPagePrev] => @INLINE <li><a href="[[+href]]">&laquo;</a></li> [tplPageNext] => @INLINE <li><a href="[[+href]]">&raquo;</a></li> [tplPageSkip] => @INLINE <li><span>...</span></li> [tplPageFirstEmpty] => @INLINE <li><span>[[%pdopage_first]]</span></li> [tplPageLastEmpty] => @INLINE <li><span>[[%pdopage_last]]</span></li> [tplPagePrevEmpty] => @INLINE <li><span>&laquo;</span></li> [tplPageNextEmpty] => @INLINE <li><span>&raquo;</span></li> [cache] => [cacheTime] => 3600 [cacheAnonymous] => [ajax] => 1 [ajaxMode] => button [ajaxElemWrapper] => #pdopage [ajaxElemRows] => #pdopage .rows [ajaxElemPagination] => #pdopage .pagination [ajaxElemLink] => #pdopage .pagination a [ajaxElemMore] => #pdopage .btn-more [ajaxTplMore] => @INLINE <button>[[%pdopage_more]]</button> [setMeta] => 1 [request] => ArrayИ это только начало. Остальную часть кода ошибки не буду приводить. Если меняю &parents=`0`на &parents=`1`, то в том месте, где должна быть пагинация, вообще ничего не выводится. Подскажите, в чем ошибка, и что исправить. Только доступным языком для начинающего. Спасибо!

modx.pro


Prostoy-Site | Все права защищены © 2018 | Карта сайта