parseInt() для pdoPage?

Недавно столкнулся с проблемой. Сделали на страницах нового проекта пагинацию. Я, раньше, не использовал pdoPage, но поскольку весомых альтернатив у меня не было, решил воспользоваться им.
Вёрстка у меня по бэму и пагинация отображается по моим классам. После конфига
[[!pdoPage?
            &tplPage=`page.tpl`
            &tplPagePrev=`pagePrev.tpl`
            &tplPageActive=`pageActive.tpl`
            &tplPageNext=`pageNext.tpl`
            &tplPageLast=`pageLast.tpl`
            &tplPageFirst=`pageFirst.tpl`
            &tplPagePrevEmpty=`pagePrevEmpty.tpl`
            &tplPageFirstEmpty=`pageFirstEmpty.tpl`
            &tplPageLastEmpty=`@INLINE <a class='pagination__link' href='[[+href]]'><span class="pagination__allPages">[[+pageNo]]</span></a>`
            &tplPageNextEmpty=`@INLINE <a class='pagination__link' href='[[+href]]'><span class="pagination__chevronRight"></span></a>`
            &tplPageWrapper=`@INLINE <div class="catalog__pagination pagination">[[+prev]][[+first]]<span class="pagination__of">из</span>[[+last]][[+next]]</div>`
            &parents=`[[*id]]`
            &limit=`3`
            &page=`1`
            &includeTVs=`auto_photo, carcase, height, width, length, weight_capacity`
            &tpl=`catalog_item`
        ]]

Вместо числа отображается строка. «ПЕРВАЯ» ИЗ 2. Как исправить эту проблему, я не знаю.
В документации ничего похожего нет. Единственное, что я заметил — все чанки с %pdopage нужно было разложить по чанкам.
Мб можно как-то починить посредством самого модекса? Если мне не подскажут, я использую яваскриптовый parseInt. Но как-то неправильно дебажить один язык другим.
Всем спасибо за ответы.
Никита
17 ноября 2016, 15:36
modx.pro
1 935
0

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

Кирилл
17 ноября 2016, 19:16
0
Покажите содержимое чанка «pageFirstEmpty.tpl»

Единственное, что я заметил — все чанки с %pdopage нужно было разложить по чанкам.

Необязательно, есть поддержка @INLINE
    Дмитрий Иванов
    17 ноября 2016, 20:21
    0
    В INLINE не обрабатываются языковые теги же.
      Никита
      17 ноября 2016, 20:22
      0
      в @inline не работают %pdopage — передаются на сайт строкой «pdopage».
      <a class='pagination__link' href='[[+href]]'><span class="pagination__currentPage">[[%pdopage_first]]</span></a>
        Кирилл
        17 ноября 2016, 20:33
        +1
        Так а зачем вам передавать туда [[%pdopage_first]]? По условию, если я правильно понял, как раз от «слова» надо избавиться. Если вам нужны только отображение «страница из общего числа страниц», то надо все несколько переделать.

        &tplPageWrapper=`@INLINE <div class="catalog__pagination pagination">[[+prev]][[+pages]]<span class="pagination__of">из</span>[[+last]][[+next]]</div>`

        далее заменить
        &tplPage=`@INLINE `
        &tplPageActive=`@INLINE [[+pageNo]]`

        Т.е. все страницы у вас будут с пустым шаблоном, а активная (текущая) будет цифрой.
          Никита
          18 ноября 2016, 00:06
          0
          Да, всё верно — от слова надо избавиться, но [[+pageNo]] вообще не передаётся на страницу. В документации к pdoPage даже нет плейсхолдера для вывода текущего номера страницы.
          Я изменил параметры сниппета по вашей инструкции, но [[+pageNo]] не выводится. Судя по html-комментам, которые я залил в чанки, в качестве первой страницы и шеврона выводятся prevEmpty и firstEmpty — они не хотят обрабатывать плейсхолдеры [[+pageNo]] вообще. А [[%pdopage_first]] даёт хотя бы строку.
            Кирилл
            18 ноября 2016, 07:00
            0
            Посмотрите тут: http://s7405.h7.modhost.pro/list/

            Админка
            Логин s7405
            Пароль 83KYd3prUYT2
              Никита
              18 ноября 2016, 11:22
              0
              [[+prev]][[+pages]]из[[+pageCount]][[+next]] в tplWrapper — помогло. Фактически, я просто заменил [[+first]] на [[+pages]] и [[+last]] на [[+pageCount]]. Как по мне так я не понимаю логику работы. Я даже не могу понять разницы между [[+pages]] и [[+pageCount]]. НО!
              Пагинация заработала как надо, следовательно, лучше больше ничего не трогать))). Спасибо большое.
                Кирилл
                18 ноября 2016, 11:33
                0
                [[+pages]] — это плейсхолдер списка страниц, т.е. 1,2,3,4 и т.д.
                Далее используем пустой вывод для всех страниц, кроме активной (как раз эти шаблоны и подставятся в [[+pages]]):
                &tplPage=`@INLINE `
                &tplPageActive=`@INLINE [[+pageNo]]`

                [[+pageCount]] — содержит общее число страниц
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      8