PdoResources + PdoPage (Двойная пагинация)
Подскажите пожалуйста как правильно реализовать следующую задачу:
Есть ресурсы как показано на рис.:
Требуется вывести на страницу две пагинации.
1) Первая пагинация выводить сверху ресурсы с годами.
2) Внизу выводить постраничную пагинацию в зависимости от выбранного года (первая пагинация), по умолчанию выводить все ресурсы родителя (5). Ресурсы контейнеры (названия года) скрыты.
Есть ресурсы как показано на рис.:
Требуется вывести на страницу две пагинации.
1) Первая пагинация выводить сверху ресурсы с годами.
2) Внизу выводить постраничную пагинацию в зависимости от выбранного года (первая пагинация), по умолчанию выводить все ресурсы родителя (5). Ресурсы контейнеры (названия года) скрыты.
Комментарии: 9
Может через GET получать год?
[[pdoMenu?
&tpl=`<a href="[[~5]]?parent=[[+id]]">[[+pagetitle]]</a>`
]]
[[!pdoResources?
&parents=`[[!#POST.parent]]`
&showLog=`0`
]]
п.с. Не проверял на работоспособность.
не работает такой метод.
Вот так точно работает:
test.ig0r74.modxcloud.com/year/
[[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/
большое спасибо, помогло.
еще вопрос:
А если усложнить задачу: вместо id выводить в строку alias.
Пример:
Как передать номер id из alias в [[!#GET.parent]]?
А если усложнить задачу: вместо id выводить в строку alias.
Пример:
[[pdoMenu?
&parents=`25`
&tpl=`@INLINE <a href="[[~25]]?parent=[[+alias]]">[[+pagetitle]]</a>`
&level=`1`
]]
Как передать номер id из alias в [[!#GET.parent]]?
Решил следующим образом:
[[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]]
Василий, подскажи пожалуйста, почему в моем примере не срабатывает класс активного пункта 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`
]]
Что делаю не так?
Используйте [[+classes]] не вставляя в class="_"
<li [[+classes]] >
Если у вас имя css класса для активного пункта меню отличается от имени active то используйте следующий параметр &hereClass=`имя вашего css класса для активного пункта меню`
Это все я знаю, уже пробовал, не помогает.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.