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}}">&laquo;</a></li>
    34       {{else}}
    35           <li class="disabled"><a>{{ i18n .Lang "paginator.first_page"}}</a></li>
    36           <li class="disabled"><a>&laquo;</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}}">&raquo;</a></li>
    45           <li><a href="{{.paginator.PageLinkLast}}">{{ i18n .Lang "paginator.last_page"}}</a></li>
    46       {{else}}
    47           <li class="disabled"><a>&raquo;</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