три вызова pdoPage на одной странице
Друзья, всем привет! У меня такой вопрос, можно ли на одной странице сайта делать два и более вызовов сниппета pdoPage с параметром &ajaxMode=`button` ??Сделал табы и в каждом табе свой каталог
<div> <div> <div> <!-- Табы --> <ul > <li><a href="#featured" data-toggle="tab">Каталог 1</a></li> <li><a href="#new-arrivals" data-toggle="tab">Каталог 2</a></li> <li><a href="#top-sales" data-toggle="tab">Каталог 3</a></li> </ul> <!-- Рекомендуем --> <div> <div > <div> <div> [[!pdoPage? &parents=`1` &limit=`4` &tpl=`AjaxTpl` &includeTVs=`img,price,old-price,new,sale,hit` &ajaxMode=`button` ]] </div> </div> <!-- Новинки --> <div> <div> [[!pdoPage? &parents=`2` &limit=`4` &tpl=`AjaxTpl` &includeTVs=`img,price,old-price,new,sale,hit` &ajaxMode=`button` ]] </div> </div> <!-- Скидки на товары --> <div> <div> [[!pdoPage? &parents=`3` &limit=`4` &tpl=`AjaxTpl` &includeTVs=`img,price,old-price,new,sale,hit` &ajaxMode=`button` ]] </div> </div> </div> [[!+page.nav]] </div> </div> </div> </div>
У меня почему то на первом табе показывает 2 кнопки «Загрузить еще»
Вообщем не рабтае так как нужно, Это я делаю что-то не правильно? или такое не предусмотрено ??
два pdoPage на одной странице в режиме ajax / Русскоязычное сообщество MODX
Добрый день.Есть страница, на которой нужно два раза вызывать 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 назад я сталкивался с подобным и нарыл что дело в хеше, который создается при загрузке страницы и так далее, но как его побороть или хотя бы где о нем нормально почитать…
В общем, буду рад советам. Спасибо.
Вызов нескольких pdoPage на странице / Русскоязычное сообщество MODX
Приветствую сообщество!В общем проблема следующего характера:
1. Есть список пользователей в форме таблицы с ссылками на страницу-паспорт каждого пользователя!
2. Есть страница-паспорт, сделанная с помощью плагина (Виртуальная страница пользователя)
3. На каждой такой странице идет вызов 4 pdoPage объектов, каждый отвечает за отображение того или иного блока активности пользователя!
Выглядит это так:
Каждый такой блок появляется во сплывающем окне!<div> <div> [[!+post.nav]] <div> [[!pdoPage:default=` <h5><span>Ooops! Кажется здесь еще не чего нет!</span></h5> <p>Все опубликованные Вами ресурсы, статьи, новости и псоты будут здесь!</p> <div>`? &element=`getTickets` &nestedChunkPrefix=`tickets_` &ajaxMode=`button` &ajaxElemMore=`#pdopage1 .btn-more` &ajaxTplMore=`@INLINE <button>Еще записи</button>` &ajaxElemWrapper=`#pdopage1` &ajaxElemRows=`#pdopage1 .rows` &ajaxElemPagination=`#pdopage1 .pagination` &ajaxElemLink=`#pdopage1 .pagination a` &context=`[[*context_key]]` &user=`[[!+user.id]]` &tpl=`Main-Articles-tpl.Tickets.list.row` &includeContent=`1` &includeTVs=`imageTV,video,videoUrl,videoImg` &processTVs=`1` &parents=`-886,-888` &limit=`5` &hideContainers=`1` &tvPrefix=`tv.` &pageVarKey=`post` &totalVar=`post.total` &pageNavVar=`post.nav` ]] </div> </div> </div> <div> <div> [[!+fav.nav]] <div> [[!pdoPage:default=` <h5><span>Ooops! Кажется здесь еще не чего нет!</span></h5> <p>Ваши закладки, будут здесь!</p>`? &element=`getStars` &nestedChunkPrefix=`tickets_` &ajaxMode=`button` &ajaxElemMore=`#pdopage2 .btn-more` &ajaxTplMore=`@INLINE <button>Еще записи</button>` &ajaxElemWrapper=`#pdopage2` &ajaxElemRows=`#pdopage2 .rows` &ajaxElemPagination=`#pdopage2 .pagination` &ajaxElemLink=`#pdopage2 .pagination a` &context=`[[*context_key]]` &user=`[[!+user.id]]` &tpl=`Main-Articles-tpl.Tickets.list.row` &includeContent=`1` &includeTVs=`imageTV,video,videoUrl,videoImg` &processTVs=`1` &parents=`-886,-888` &limit=`5` &hideContainers=`1` &tvPrefix=`tv.` &pageVarKey=`fav` &totalVar=`fav.total` &pageNavVar=`fav.nav` ]] </div> </div> </div> <div> <div> [[!+anime.nav]] <div> [[!pdoPage:default=` <h5><span>Ooops! Кажется здесь еще не чего нет!</span></h5> <p>Ваши избранные Аниме, будут здесь!</p>`? &element=`getStars` &nestedChunkPrefix=`tickets_` &ajaxMode=`button` &ajaxElemMore=`#pdopage3 .btn-more` &ajaxTplMore=`@INLINE <button>Еще записи</button>` &ajaxElemWrapper=`#pdopage3` &ajaxElemRows=`#pdopage3 .rows` &ajaxElemPagination=`#pdopage3 .pagination` &ajaxElemLink=`#pdopage3 .pagination a` &context=`[[*context_key]]` &user=`[[!+user.id]]` &tpl=`Bankay_Animeblog_One-item` &includeContent=`1` &includeTVs=`AnimeIconTV,tags,TypeTV` &processTVs=`1` &parents=`886` &limit=`5` &hideContainers=`1` &tvPrefix=`tv.` &pageVarKey=`anime` &totalVar=`anime.total` &pageNavVar=`anime.nav` ]] </div> </div> </div> <div> <div> [[!+game.nav]] <div> [[!pdoPage:default=` <h5><span>Ooops! Кажется здесь еще не чего нет!</span></h5> <p>Ваши избранные игры, будут здесь!</p>`? &element=`getStars` &nestedChunkPrefix=`tickets_` &ajaxMode=`button` &ajaxElemMore=`#pdopage4 .btn-more` &ajaxTplMore=`@INLINE <button>Еще записи</button>` &ajaxElemWrapper=`#pdopage4` &ajaxElemRows=`#pdopage4 .rows` &ajaxElemPagination=`#pdopage4 .pagination` &ajaxElemLink=`#pdopage4 .pagination a` &context=`[[*context_key]]` &user=`[[!+user.id]]` &tpl=`GameLunch_Gameblog_One-item` &includeContent=`1` &includeTVs=`GameIconTV,AnimeIconTV,tags,TypeTV` &processTVs=`1` &parents=`888` &limit=`5` &hideContainers=`1` &tvPrefix=`tv.` &pageVarKey=`game` &totalVar=`game.total` &pageNavVar=`game.nav` ]] </div> </div> </div> <div> <div> [[!+post.nav]] <div> [[!pdoPage:default=` <h5><span>Ooops! Кажется здесь еще не чего нет!</span></h5> <p>Все НЕопубликованные Вами черновики будут здесь!</p>`? &element=`getTickets` &nestedChunkPrefix=`tickets_` &ajaxMode=`button` &ajaxElemMore=`#pdopage5 .btn-more` &ajaxTplMore=`@INLINE <button>Еще записи</button>` &ajaxElemWrapper=`#pdopage5` &ajaxElemRows=`#pdopage5 .rows` &ajaxElemPagination=`#pdopage5 .pagination` &ajaxElemLink=`#pdopage5 .pagination a` &context=`[[*context_key]]` &user=`[[!+modx.user.id]]` &tpl=`Main-Articles-tpl.Tickets.list.row` &includeContent=`1` &showUnpublished=`1` &where=`{"published":0}` &includeTVs=`imageTV,video,videoUrl,videoImg` &processTVs=`1` &parents=`-886,-888` &limit=`5` &hideContainers=`1` &tvPrefix=`tv.` &pageVarKey=`draft` &totalVar=`draft.total` &pageNavVar=`draft.nav` ]] </div> </div> </div> <ul> <li><a href="#popup-post"><b>[[!+post.total]]</b><span>Посты</span></a></li> <li><a href="#popup-post-favorite"><b>[[!+fav.total]]</b><span>Закладки</span></a></li> <li><a href="#popup-post-anime"><b>[[!+anime.total]]</b><span>Аниме</span></a></li> <li><a href="#popup-post-games"><b>[[!+game.total]]</b><span>Игры</span></a></li> </ul>
А теперь самое интересное!
Дело все в том, что паспорт гоняла фокус-группа, в том числе и я ( и все мы нашли одну неприятную ошибку) и выяснили, что при вызове например более одного pdoPage иногда появляется целых две кнопки «Показать еще»
А иногда бывает такое, что при нажатии окно просто виснет и не чего не происходит! И даже после обновления страницы не чего не происходит! Исправляется это только после пересохранения шаблона вывода или обновлении кеша и то не всегда, т.е. нет не какой системы!
Че делать, куда копать не знаю!
Множественный вызов pdoPage на главной странице работает отлично!
Подскажите люди добрые, чего и куда копать!
Не работают два вызова pdoPage на одной странице. / Русскоязычное сообщество MODX
Здравствуйте.Кто сталкивался с такой проблемой, отзовитесь )
На сайте MODX Revo. 2.5.7 необходимо вывести getImageList два раза через ajax, при помощи прокрутки на соответствующем блоке.
Первый вывод:
<div>
<div>
[[!pdoPage?
&element=`getImageList`
&tvname=`jalousie-material-verticalTV`
&docid=`73`
&tpl=`jalousie-box-materialTpl`
&sort=`[{"sortby":"price","sortdir":"ASC"}]`
&where=`{"published":"1"}`
&limit=`10`
&maxLimit=`1000000`
&cache=`1`
&cacheTime=`86400`
&pageVarKey=`pdopageLam`
&pageNavVar=`lam.navLam`
&totalVar=`ImagesTotal_Lam`
&toPlaceholder=`ImagesResult_Lam`
&ajaxElemWrapper=`#pdopageLam`
&ajaxElemRows=`#pdopageLam .materials`
&ajaxElemPagination=`#pdopageLam .pagination`
&ajaxElemLink=`#pdopageLam .pagination a`
&ajaxMode=`scroll`
]]
[[!+ImagesTotal_Lam:ne=`0`:then=`[[+ImagesResult_Lam]]`:else=`<p>Материалы отсутствуют</p>`]]
</div>
[[!+lam.navLam]]
</div>
Второй вывод:
<div>
<div>
[[!pdoPage?
&element=`getImageList`
&tvname=`jalousie-material-verticalTV`
&docid=`73`
&tpl=`jalousie-box-materialTpl`
&sort=`[{"sortby":"price","sortdir":"ASC"}]`
&where=`{"published":"1"}`
&limit=`10`
&maxLimit=`1000000`
&cache=`1`
&cacheTime=`86400`
&pageVarKey=`pdopageBasis`
&pageNavVar=`basis.navBasis`
&totalVar=`ImagesTotal_Basis`
&toPlaceholder=`ImagesResult_Basis`
&ajaxElemWrapper=`#pdopageBasis`
&ajaxElemRows=`#pdopageBasis .materials`
&ajaxElemPagination=`#pdopageBasis .pagination`
&ajaxElemLink=`#pdopageBasis .pagination a`
&ajaxMode=`scroll`
]]
[[!+ImagesTotal_Basis:ne=`0`:then=`[[+ImagesResult_Basis]]`:else=`<p>Материалы отсутствуют</p>`]]
</div>
[[!+basis.navBasis]]
</div>
И тут проблема. Работает только верхний вывод, при попытке скролла нижнего, подгрузка идёт в верхний блок. По одиночке они работают правильно, в паре нет.
До этого был вывод при помощи: &ajaxMode=`button` подгрузка была правильной, и в паре и по одиночке.
В чём может быть проблема?
[MODx] pdoPage pagination css
Стили скопированый из стилей bootstrap
.pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; } .pagination > li { display: inline; } .real-content ul.pagination > li{ list-style-type: none; margin-left: 0; margin-bottom: 0; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; line-height: 1.42857143; text-decoration: none; color: #337ab7; background-color: #ffffff; border: 1px solid #dddddd; margin-left: -1px; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-bottom-left-radius: 4px; border-top-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-bottom-right-radius: 4px; border-top-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { z-index: 2; color: #23527c; background-color: #eeeeee; border-color: #dddddd; } .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 3; color: #ffffff; background-color: #337ab7; border-color: #337ab7; cursor: default; } .pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #777777; background-color: #ffffff; border-color: #dddddd; cursor: not-allowed; }