К содержанию

PdoResources + PdoPage (Двойная пагинация)

Подскажите пожалуйста как правильно реализовать следующую задачу:

Есть ресурсы как показано на рис.:



Требуется вывести на страницу две пагинации.

1) Первая пагинация выводить сверху ресурсы с годами.
2) Внизу выводить постраничную пагинацию в зависимости от выбранного года (первая пагинация), по умолчанию выводить все ресурсы родителя (5). Ресурсы контейнеры (названия года) скрыты.
Антон Грошев
Антон Грошев
13 апреля 2016, 11:57
modx.pro
5 568
Реклама

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

Игорь Терентьев
Игорь Терентьев Проверенный
14 апреля 2016, 09:47
Может через GET получать год?
[[pdoMenu?
&tpl=`<a href="[[~5]]?parent=[[+id]]">[[+pagetitle]]</a>`
]]
[[!pdoResources?
    &parents=`[[!#POST.parent]]`
    &showLog=`0`
]]
п.с. Не проверял на работоспособность.
    Антон Грошев
    Антон Грошев Старожил
    15 апреля 2016, 16:09
    не работает такой метод.
      Игорь Терентьев
      Игорь Терентьев Проверенный
      15 апреля 2016, 21:20
      Вот так точно работает:
      [[pdoMenu?
      &parents=`25`
      &tpl=`@INLINE <a href="[[~25]]?parent=[[+id]]">[[+pagetitle]]</a>`
      &level=`1`
      ]]
      [[!pdoResources?
          &parents=`[[!#GET.parent]]`
          &tpl=`test`
      ]]

      test.ig0r74.modxcloud.com/year/
    Антон Грошев
    Антон Грошев Старожил
    18 апреля 2016, 10:42
    большое спасибо, помогло.
      Антон Грошев
      Антон Грошев Старожил
      18 апреля 2016, 12:02
      еще вопрос:

      А если усложнить задачу: вместо id выводить в строку alias.

      Пример:

      [[pdoMenu?
      &parents=`25`
      &tpl=`@INLINE <a href="[[~25]]?parent=[[+alias]]">[[+pagetitle]]</a>`
      &level=`1`
      ]]

      Как передать номер id из alias в [[!#GET.parent]]?
        Антон Грошев
        Антон Грошев Старожил
        18 апреля 2016, 20:43
        Решил следующим образом:

        [[pdoMenu? &parents=`5` &tplOuter=`@INLINE 
                    <ul id="filterOptions1" class="gallery-cats clearfix">
                        <li class=""><a href="{{~5}}" class="all">Minden</a></li>
                        [[+wrapper]] 
                    </ul>`
                    &tpl=`@INLINE <li><a href="{{~5}}?year={{+alias}}">{{+pagetitle}}</a></li>`
                    &level=`1` &showHidden=`1` &showLog=`0`
        ]]
        
        [[!pdoPage? &includeTVList=`Kép` &parents=`5`  &hideContainers=`1` &pageLimit=`5` &limit=`8` &ajaxMode=`scroll` &scheme=`uri`
                    
                    &leftJoin=`{
        		    "Parent":{
        			"class": "modResource",
        			"alias": "Parent",
        			"on":"Parent.id = modResource.parent"
        		    }
        	        }`
        	        
        	        &sortby=`{"Parent.menuindex":"asc", "menuindex":"asc"}`
                    
                    &tplWrapper=`@INLINE  
                    <div class="row clearfix">
                        <ul class="gallery-post-grid holder">
                            {{+output}}
                        </ul>
                    </div>`
                    
                    &tplPageWrapper=`@INLINE <div class="pagination"><ul>{{+first}}{{+prev}}{{+pages}}{{+next}}{{+last}}</ul></div>`
                    
                    &tpl=`@INLINE  
                    <li  class="span3 gallery-item" data-id="id-{{+idx}}" data-type="{{+parent:pdofield=`pagetitle`}}">
                        <span class="gallery-hover-4col hidden-phone hidden-tablet">
                            <span class="gallery-icons">
                                <a href="{{+tv.Kép}}" class="item-zoom-link lightbox" title="{{+pagetitle}}" data-rel="prettyPhoto[gallery1]"></a> 
                                    <a href="{{+uri}}" class="item-details-link"></a>
                                </span>
                            </span>
                            <a href="{{+uri}}"><img src="{$_pls['tv.Kép'] | ereplace : '/^(.*[\/])(.+)(.+)(\..{3,4})$/imu' : '${1}thumbs/${2}${3}_thumb_w270_h220${4}'}" alt="Gallery"></a>
                            <span class="project-details"><a href="{{+uri}}">{{+pagetitle}}</a>{{+id:pdofield=`alkalmazott_technika`}} ({{+parent:pdofield=`pagetitle`}})</span>
                    </li>`  
                    &showLog=`1` &where=`{"Parent.alias:LIKE":"%[[!#get.year]]%"}`
                    ]]
                    [[+page.nav]]
        Антон Грошев
        Антон Грошев Старожил
        19 апреля 2016, 16:51
        Василий, подскажи пожалуйста, почему в моем примере не срабатывает класс активного пункта class=«active», срабатывает только в &tplStart:
        [[pdoMenu? &parents=`5` &level=`1` &showHidden=`1` &displayStart=`1` &countChildren=`1` &fastMode=`1` &scheme=`uri`
        	&tplOuter=`@INLINE <ul class="gallery-cats clearfix">[[+wrapper]]</ul>` &tplInner=`@INLINE [[+wrapper]]`
        	&tplStart=`@INLINE <li class="[[+classnames]]"><a href="{{~5}}">Minden</a> ([[+children]])</li>[[+wrapper]]`
        	&tpl=`@INLINE <li class="[[+classnames]]"><a href="{{~5}}?year={{+alias}}">{{+pagetitle}}</a> ([[+children]])</li>`
        	&showLog=`0` 
        ]]
        Что делаю не так?
          October
          October Старожил
          20 апреля 2016, 10:04
          Используйте [[+classes]] не вставляя в class="_"
          <li [[+classes]] >
          Если у вас имя css класса для активного пункта меню отличается от имени active то используйте следующий параметр
          &hereClass=`имя вашего css класса для активного пункта меню`
            Антон Грошев
            Антон Грошев Старожил
            20 апреля 2016, 10:37
            Это все я знаю, уже пробовал, не помогает.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          9