pdoPage и Collections
Здравствуйте!
Вопрос скорей всего Василию, разработчику pdoTools!
Не знаю как точно сформулировать, но проблема в следующем.
Использую Collections для организации каталога стандартно, слева список категорий (коллекций), справа содержание категории (коллекции). При выборе ресурса, отображается карточка ресурса, а ниже должно остаться содержание коллекции.
Оборачиваю pdoMenu в pdoPage, соответственно передаю туда динамически parent в зависимости от уровня нахождения в меню. Если верхний уровень (выбрана коллекция), то передаю id коллекции, если вошёл в ресурс, то parent ресурса, т.е. id коллекции.
Вот вызов:
И выводит по 3 странице на пустых коллекциях.
Причем ресурсы, если они есть в коллекции, выведеные через pdoMenu отображаются правильно и соответствуют выбраной коллекции.
Мое предположение, что pdoPage берет параметр &parents не у оборачиваемого сниппета, а напрямую из api MODX.
Можно как-то это исправить? Или я что-то не так делаю? Навсякий случай ссылки на сайт, правда он в процессе разработки, поэтому там что-то может меняться…
Неправильные страницы
Правильные страницы
Заранее спасибо.
Вопрос скорей всего Василию, разработчику pdoTools!
Не знаю как точно сформулировать, но проблема в следующем.
Использую Collections для организации каталога стандартно, слева список категорий (коллекций), справа содержание категории (коллекции). При выборе ресурса, отображается карточка ресурса, а ниже должно остаться содержание коллекции.
Оборачиваю pdoMenu в pdoPage, соответственно передаю туда динамически parent в зависимости от уровня нахождения в меню. Если верхний уровень (выбрана коллекция), то передаю id коллекции, если вошёл в ресурс, то parent ресурса, т.е. id коллекции.
Вот вызов:
[[!pdoPage?
&element=`pdoMenu`
&limit=`20`
&maxLimit=`80`
&parents=`[[+parentid]]`
&level=`1`
&includeTVs=`shpon,price,actual,new`
&tplOuter=`@INLINE [[+wrapper]]`
&tplPageWrapper=`@INLINE <ul class="paginations">[[+pages]]</ul>`
&tpl=`catalog.tpl`
]]
[[+parentid]]
приходит из шаблона правильно, вот так[[$CATALOG? &parentid=`[[*id]]`]]
или так[[$CATALOG? &parentid=`[[*parent]]`]]
В первом случае параметр &totalVar показывает 31, т.е. правильное количество ресурсов в коллекции, но у pdoPage получается 3 страницы, если по 20 на страницу. Во втором, все правильно, 2 страницы.И выводит по 3 странице на пустых коллекциях.
Причем ресурсы, если они есть в коллекции, выведеные через pdoMenu отображаются правильно и соответствуют выбраной коллекции.
Мое предположение, что pdoPage берет параметр &parents не у оборачиваемого сниппета, а напрямую из api MODX.
Можно как-то это исправить? Или я что-то не так делаю? Навсякий случай ссылки на сайт, правда он в процессе разработки, поэтому там что-то может меняться…
Неправильные страницы
Правильные страницы
Заранее спасибо.
Комментарии: 13
И никто не знает в чем проблема?
&parents=`[[+parentid]]`
разве не &parents=`[[+parent]]`
разве не &parents=`[[+parent]]`
Я написал, что в [[+parentid]] передаю из шаблона значение. Но я уже переделал на другой вариант, и это тоже не помогло
Не помогло. На tickets делать каталог товаров?
вы всёравно используете tv
А при чем здесь tv?
на тикетс можно собрать что угодно, всё зависит как много тв у вас используется и как важна скорость работы. А если значений много, то лучше уже своя таблица
Получается если вызываю содержимое коллекции, указывая в pdoMenu в качестве parent id коллекции, то pdoPage захватывает все ресурсы от корня…
&level=`1` означает вывод все ресурсы от корня
нет, насколько из документации понятно, &level 0 (не ограниченно) Уровень генерируемого меню. Убрал, ничего не изменилось. На проверку отключил с первой категории collection результат тот же.
Я уже разнес по 2 разным чанкам, в одном взываю &parents=`[[*id]]` в другом &parents=`[[*parent]]`, все по документации, но не хочет
Если вы вызываете pdoPage несколько раз на одной странице, у вызовов должны быть прописаны разные pageVarKey
нет, на странице pdoPage вызывается один раз, pdoMenu вызывается 2 раза, первый раз без пагинации, а второй с пагинацией…
По крайней мере в пустых категориях не выводит по 3 ссылки на страницы. Поэтому поставил лимит на 40 :)))
<div class="container-fluid">
<div id="content" class="container">
<div class="row">
<div id="catalog-menu" class="col-xs-2"> <!-- Категории -->
[[pdoMenu?
&parents=`13`
&level=`1`
&outerClass=`catalog-menu`
&selfClass=`selected`
&tplOuter=`@INLINE <ul[[+classes]]><li><div>Каталог</div></li>[[+wrapper]]</ul>`
&tpl=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>`
]]
[[$FILTER]]
</div>
<div class="col-xs-10">
[[*isfolder:is=``:then=`[[$ITEM-CONTENT]]`]] <!-- Контент -->
<div class="row catalog"> <!-- Содержание категории -->
[[!pdoPage?
&element=`pdoMenu`
&limit=`40`
&maxLimit=`80`
&cache=`1`
&hideSubMenus=`1`
&parents=`[[*isfolder:is=`1`:then=`[[*id]]`:else=`[[*parent]]`]]`
&includeTVs=`shpon,price,actual,new`
&sortby=`new`
&sortdir=`DESC`
&tplOuter=`@INLINE <div>[[+wrapper]]</div>`
&tplPageWrapper=`@INLINE <ul class="paginations">[[+pages]]</ul>`
&tpl=`catalog.tpl`
]]
</div>
</div>
<div class="row">
<div class="col-xs-12 text-center">
[[+page.nav]]
</div>
</div>
</div>
</div>
</div>
Вот так выглядит чанк сейчас, вроде работает, но если поставить &limit=`10`, то при 31 элементе выдает 4 ссылки на страницы, причем последняя ссылка введет на index.php?id=18&id=18 вместо id=18&page=4.По крайней мере в пустых категориях не выводит по 3 ссылки на страницы. Поэтому поставил лимит на 40 :)))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.