github.com/astaxie/beego@v1.12.3/utils/pagination/doc.go (about) 1 /* 2 Package pagination provides utilities to setup a paginator within the 3 context of a http request. 4 5 Usage 6 7 In your beego.Controller: 8 9 package controllers 10 11 import "github.com/astaxie/beego/utils/pagination" 12 13 type PostsController struct { 14 beego.Controller 15 } 16 17 func (this *PostsController) ListAllPosts() { 18 // sets this.Data["paginator"] with the current offset (from the url query param) 19 postsPerPage := 20 20 paginator := pagination.SetPaginator(this.Ctx, postsPerPage, CountPosts()) 21 22 // fetch the next 20 posts 23 this.Data["posts"] = ListPostsByOffsetAndLimit(paginator.Offset(), postsPerPage) 24 } 25 26 27 In your view templates: 28 29 {{if .paginator.HasPages}} 30 <ul class="pagination pagination"> 31 {{if .paginator.HasPrev}} 32 <li><a href="{{.paginator.PageLinkFirst}}">{{ i18n .Lang "paginator.first_page"}}</a></li> 33 <li><a href="{{.paginator.PageLinkPrev}}">«</a></li> 34 {{else}} 35 <li class="disabled"><a>{{ i18n .Lang "paginator.first_page"}}</a></li> 36 <li class="disabled"><a>«</a></li> 37 {{end}} 38 {{range $index, $page := .paginator.Pages}} 39 <li{{if $.paginator.IsActive .}} class="active"{{end}}> 40 <a href="{{$.paginator.PageLink $page}}">{{$page}}</a> 41 </li> 42 {{end}} 43 {{if .paginator.HasNext}} 44 <li><a href="{{.paginator.PageLinkNext}}">»</a></li> 45 <li><a href="{{.paginator.PageLinkLast}}">{{ i18n .Lang "paginator.last_page"}}</a></li> 46 {{else}} 47 <li class="disabled"><a>»</a></li> 48 <li class="disabled"><a>{{ i18n .Lang "paginator.last_page"}}</a></li> 49 {{end}} 50 </ul> 51 {{end}} 52 53 See also 54 55 http://beego.me/docs/mvc/view/page.md 56 57 */ 58 package pagination