В pdoPage HTML код пагинации в целом устраивает, за исключением содержимого тегов первой и последней, предыдущей и следующей страниц. Вот эту часть часто приходится переписывать и здесь решил опубликовать небольшую шпаргалку для себя, а возможно и еще кому то пригодится. Больших изменений здесь нет, но есть примеры вызова и набор стилей.
Пример вызова сниппета с параметрами
Копирую с реального шаблона, все параметры оставил как есть, все что до $tplPagePrevEmpty не интересно (пишу на всякий случай)
Для начала вариант с использованием чистого Bootstrap 4:
[[!pdoPage?&parents=`[[*id]]`&limit=`9`&tpl=`BlogItem`&includeTVs=`image`&tplPage=`@INLINE <li class="page-item"><a class="page-link" href="[[+href]]">[[+pageNo]]</a></li>`&tplPageActive=`@INLINE <li class="page-item active"><a class="page-link" href="[[+href]]">[[+pageNo]]</a></li>`&tplPageSkip=`@INLINE <li class="page-item disabled"><span class="page-link">...</span></li>`&tplPagePrevEmpty=`@INLINE <li class="disabled page-item"><span class="page-link"><</span></li>`&tplPageNextEmpty=`@INLINE <li class="disabled page-item"><span class="page-link">></span></li>`&tplPageFirstEmpty=`@INLINE <li class="disabled page-item"><span class="page-link"><<</span></li>`&tplPageLastEmpty=`@INLINE <li class="disabled page-item"><span class="page-link">>></span></li>`&tplPagePrev=`@INLINE <li class="page-item"><a href="[[+href]]" class="page-link"><</a></li>`&tplPageNext=`@INLINE <li class="page-item"><a href="[[+href]]" class="page-link">></a></li>`&tplPageFirst=`@INLINE <li class="page-item"><a href="[[+href]]" class="page-link"><<</a></li>`&tplPageLast=`@INLINE <li class="page-item"><a href="[[+href]]" class="page-link">>></a></li>`]][[!+page.nav]]
В итоге со стандартным CSS Bootstrap будет так: 
В других случаях код вызова будет попроще (меньше параметров):
[[!pdoPage?&parents=`[[*id]]`&limit=`9`&tpl=`BlogItem`&includeTVs=`image`&tplPagePrevEmpty=`@INLINE <li class="disabled"><span><</span></li>`&tplPageNextEmpty=`@INLINE <li class="disabled"><span>></span></li>`&tplPageFirstEmpty=`@INLINE <li class="disabled"><span><<</span></li>`&tplPageLastEmpty=`@INLINE <li class="disabled"><span>>></span></li>`&tplPagePrev=`@INLINE <li><a href="[[+href]]"><</a></li>`&tplPageNext=`@INLINE <li><a href="[[+href]]">></a></li>`&tplPageFirst=`@INLINE <li><a href="[[+href]]"><<</a></li>`&tplPageLast=`@INLINE <li><a href="[[+href]]">>></a></li>`]][[!+page.nav]]
CSS
Этот код подойдет в любом случае, в том числе и при использовании Bootstrap:
.pagination {text-align: center;margin-top: 30px;}.pagination li {display: inline-block;padding: 2px;list-style-type: none;}.pagination a, .pagination span {display: block;padding: 0px;text-decoration: none;text-shadow: none;width: 40px;float: left;border-radius: 35px;background: #4f4f4e;overflow: hidden;color: #fff;font-size: 15px;cursor: pointer;height: 40px;line-height: 40px;}.pagination .disabled span {color: #adadad}.pagination .active a, .pagination li:hover a, .pagination .active span, .pagination li:hover span {background: #c00;color: #fff;}
В итоге получится так: 






