Pagination

Pagination

We use often pagination in templates. How do we do that? We have created this demo for pagination. We hope it’s useful to you.

Controllers

Before you can use the paginator in the view you have to set it in your controller:

package controllers

type PostsController struct {
  web.Controller
}

func (this *PostsController) ListAllPosts() {
    // sets this.Data["paginator"] with the current offset (from the url query param)
    postsPerPage := 20
  	paginator := pagination.SetPaginator(this, postsPerPage, CountPosts())

    // fetch the next 20 posts
    this.Data["posts"] = ListPostsByOffsetAndLimit(paginator.Offset(), postsPerPage)
}

Views

Example templates (using Twitter Bootstrap):

https://github.com/beego/wetalk/blob/master/views/base/paginator.html