Modx pdopage – Подскажите, как вывести свой сниппет через pdoPage / Русскоязычное сообщество MODX

три вызова 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;
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *