pdoPage и Collections

Здравствуйте!
Вопрос скорей всего Василию, разработчику 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.
Можно как-то это исправить? Или я что-то не так делаю? Навсякий случай ссылки на сайт, правда он в процессе разработки, поэтому там что-то может меняться…
Неправильные страницы
Правильные страницы
Заранее спасибо.
Евгений
17 июня 2015, 18:08
modx.pro
3 023
0

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

Евгений
21 июня 2015, 21:20
0
И никто не знает в чем проблема?
    Spam
    21 июня 2015, 22:02
    0
    &parents=`[[+parentid]]`
    разве не &parents=`[[+parent]]`
      Евгений
      21 июня 2015, 22:08
      0
      Я написал, что в [[+parentid]] передаю из шаблона значение. Но я уже переделал на другой вариант, и это тоже не помогло
    Евгений
    21 июня 2015, 22:05
    0
    Не помогло. На tickets делать каталог товаров?
      Spam
      21 июня 2015, 22:22
      0
      вы всёравно используете tv
        Евгений
        21 июня 2015, 22:25
        0
        А при чем здесь tv?
          Spam
          21 июня 2015, 22:28
          0
          на тикетс можно собрать что угодно, всё зависит как много тв у вас используется и как важна скорость работы. А если значений много, то лучше уже своя таблица
      Евгений
      21 июня 2015, 22:13
      0
      Получается если вызываю содержимое коллекции, указывая в pdoMenu в качестве parent id коллекции, то pdoPage захватывает все ресурсы от корня…
        Spam
        21 июня 2015, 22:24
        0
        &level=`1` означает вывод все ресурсы от корня
          Евгений
          21 июня 2015, 22:26
          0
          нет, насколько из документации понятно, &level 0 (не ограниченно) Уровень генерируемого меню. Убрал, ничего не изменилось. На проверку отключил с первой категории collection результат тот же.
        Евгений
        21 июня 2015, 22:31
        0
        Я уже разнес по 2 разным чанкам, в одном взываю &parents=`[[*id]]` в другом &parents=`[[*parent]]`, все по документации, но не хочет
          Илья Уткин
          22 июня 2015, 11:44
          0
          Если вы вызываете pdoPage несколько раз на одной странице, у вызовов должны быть прописаны разные pageVarKey
            Евгений
            22 июня 2015, 19:02
            0
            нет, на странице pdoPage вызывается один раз, pdoMenu вызывается 2 раза, первый раз без пагинации, а второй с пагинацией…
            <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 :)))
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            13