parseInt() для pdoPage?
Недавно столкнулся с проблемой. Сделали на страницах нового проекта пагинацию. Я, раньше, не использовал pdoPage, но поскольку весомых альтернатив у меня не было, решил воспользоваться им.
Вёрстка у меня по бэму и пагинация отображается по моим классам. После конфига
Вместо числа отображается строка. «ПЕРВАЯ» ИЗ 2. Как исправить эту проблему, я не знаю.
В документации ничего похожего нет. Единственное, что я заметил — все чанки с %pdopage нужно было разложить по чанкам.
Мб можно как-то починить посредством самого модекса? Если мне не подскажут, я использую яваскриптовый parseInt. Но как-то неправильно дебажить один язык другим.
Всем спасибо за ответы.
Вёрстка у меня по бэму и пагинация отображается по моим классам. После конфига
[[!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. Но как-то неправильно дебажить один язык другим.
Всем спасибо за ответы.
Комментарии: 8
Покажите содержимое чанка «pageFirstEmpty.tpl»
Необязательно, есть поддержка @INLINE
Единственное, что я заметил — все чанки с %pdopage нужно было разложить по чанкам.
Необязательно, есть поддержка @INLINE
В INLINE не обрабатываются языковые теги же.
в @inline не работают %pdopage — передаются на сайт строкой «pdopage».
<a class='pagination__link' href='[[+href]]'><span class="pagination__currentPage">[[%pdopage_first]]</span></a>
Так а зачем вам передавать туда [[%pdopage_first]]? По условию, если я правильно понял, как раз от «слова» надо избавиться. Если вам нужны только отображение «страница из общего числа страниц», то надо все несколько переделать.
далее заменить
Т.е. все страницы у вас будут с пустым шаблоном, а активная (текущая) будет цифрой.
&tplPageWrapper=`@INLINE <div class="catalog__pagination pagination">[[+prev]][[+pages]]<span class="pagination__of">из</span>[[+last]][[+next]]</div>`
далее заменить
&tplPage=`@INLINE `
&tplPageActive=`@INLINE [[+pageNo]]`
Т.е. все страницы у вас будут с пустым шаблоном, а активная (текущая) будет цифрой.
Да, всё верно — от слова надо избавиться, но [[+pageNo]] вообще не передаётся на страницу. В документации к pdoPage даже нет плейсхолдера для вывода текущего номера страницы.
Я изменил параметры сниппета по вашей инструкции, но [[+pageNo]] не выводится. Судя по html-комментам, которые я залил в чанки, в качестве первой страницы и шеврона выводятся prevEmpty и firstEmpty — они не хотят обрабатывать плейсхолдеры [[+pageNo]] вообще. А [[%pdopage_first]] даёт хотя бы строку.
Я изменил параметры сниппета по вашей инструкции, но [[+pageNo]] не выводится. Судя по html-комментам, которые я залил в чанки, в качестве первой страницы и шеврона выводятся prevEmpty и firstEmpty — они не хотят обрабатывать плейсхолдеры [[+pageNo]] вообще. А [[%pdopage_first]] даёт хотя бы строку.
[[+prev]][[+pages]]из[[+pageCount]][[+next]] в tplWrapper — помогло. Фактически, я просто заменил [[+first]] на [[+pages]] и [[+last]] на [[+pageCount]]. Как по мне так я не понимаю логику работы. Я даже не могу понять разницы между [[+pages]] и [[+pageCount]]. НО!
Пагинация заработала как надо, следовательно, лучше больше ничего не трогать))). Спасибо большое.
Пагинация заработала как надо, следовательно, лучше больше ничего не трогать))). Спасибо большое.
[[+pages]] — это плейсхолдер списка страниц, т.е. 1,2,3,4 и т.д.
Далее используем пустой вывод для всех страниц, кроме активной (как раз эти шаблоны и подставятся в [[+pages]]):
[[+pageCount]] — содержит общее число страниц
Далее используем пустой вывод для всех страниц, кроме активной (как раз эти шаблоны и подставятся в [[+pages]]):
&tplPage=`@INLINE `
&tplPageActive=`@INLINE [[+pageNo]]`
[[+pageCount]] — содержит общее число страниц
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.