Acho esta aula bastante útil: https://gist.github.com/gosukiwi/7715487
Basicamente, ele gera uma lista não ordenada ul
com links para várias páginas, é bastante personalizável, pode gerar marcação de paginação no estilo bootstrap, marcação purecss ou qualquer marcação customizada!
Aqui estão alguns exemplos de uso:
Gerar marcação PureCSS
$paginator = new Paginator();
$pagination = $paginator
->total(135) // total items to paginate
->per_page(10) // how many to show per page
->page_name('p') // ?p=1
->ul_class('pure-paginator') // css styles
->link_class('pure-button')
->link_active_class('pure-button-active')
->paginate();
Gerar marcação Bootstraps
$paginator = new Paginator();
$pagination = $paginator
->total(135)
->per_page(10)
->page_name('p')
->ul_class('pagination') // bootstraps only requires this
->paginate();