два pdoPage на одной странице в режиме ajax
Добрый день.
Есть страница, на которой нужно два раза вызывать pdoResources в обертке pdoPage.
Количество отобранных ресурсов соответственно разное и для каждого своя пагинация.
Но в режиме ajax оба вызова pdoPage оказываются взаимосвязаны, хотя для каждого задаются свои оберктки, у каждого вызова разное имя плейсхолдера для вывода пагинации.
И второй вызов
Ответы которые я нашел все твердят — задай разное имя для плейсхолдера пагинации и все будет ок. Но не срабатывает(. Когда-то месяца 4 назад я сталкивался с подобным и нарыл что дело в хеше, который создается при загрузке страницы и так далее, но как его побороть или хотя бы где о нем нормально почитать…
В общем, буду рад советам. Спасибо.
Есть страница, на которой нужно два раза вызывать pdoResources в обертке pdoPage.
Количество отобранных ресурсов соответственно разное и для каждого своя пагинация.
Но в режиме ajax оба вызова pdoPage оказываются взаимосвязаны, хотя для каждого задаются свои оберктки, у каждого вызова разное имя плейсхолдера для вывода пагинации.
<div class="col-grid-wrap row" id="pdopage">
<div class="rows" style="overflow: hidden;">
[[!+page.nav]]
{$_modx->runSnippet('!pdoPage',[
'element' => 'pdoResources',
'ajaxElemMore' => '#pdopage .view-more',
'ajaxTplMore' => '@INLINE <div class="view-more">Смотреть ещё</div>',
'ajaxMode' => 'button',
'limit' => 1,
'tpl' => 'oneProject.tpl',
'tvPrefix' => '',
'includeTVs' => 'image',
])}
</div>
</div>
И второй вызов
<div class="col-grid-wrap row" id="pdopage2">
<div class="rows" style="overflow: hidden;">
[[!+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 class="view-more2">Смотреть ещё</div>',
'ajaxMode' => 'button',
'limit' => 1,
'tpl' => 'oneProject.tpl',
'tvPrefix' => '',
'includeTVs' => 'image',
])}
</div>
</div>
Имеет идентификатор pdopage2, другой плейсхолдер пагинации. Но при всем при этом, обе пагинации связаны. К примеру первый вызов дает выборку из 2 ресурсов и должен подгружать при нажатии ссылки по одному ресурсу. А вторая выборка содержит три ресурса и должна подгружать так же. Независимо от первой. А у меня получается, что если показать три ресурса из второй выборки, то первая уже не реагирует. Перегружаю страницу. Кликаю на показать для первой выборки — отлично грузится второй ресурс. Кликаю на показать для второй выборки — грузится второй ресурс, а третий уже нет.Ответы которые я нашел все твердят — задай разное имя для плейсхолдера пагинации и все будет ок. Но не срабатывает(. Когда-то месяца 4 назад я сталкивался с подобным и нарыл что дело в хеше, который создается при загрузке страницы и так далее, но как его побороть или хотя бы где о нем нормально почитать…
В общем, буду рад советам. Спасибо.
Комментарии: 2
нужно не только разное имя для плейсхолдера пагинации, но и разное имя для переменной страницы, которая передается в get — см. параметр &pageVarKey
Спасибо, Алексей. Действительно помогло.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.