I may have misunderstood the difference between .Paginate
and .Paginator
but I’m trying to create pagination by weight with a length of 2:
{{ $paginator := .Paginate (first 2 .Pages.ByWeight) }}
{{ range $paginator.Pages }}
<h2>{{ .Title }}</h2>
{{ end }}
<h2>{{ $paginator.HasNext }}</h2>
<h2>{{ $paginator.HasPrev }}</h2>
The title gets displayed (2 items) but the HasNext
and HasPrev
function always returns false. When using {{ .Paginator 5 }}
it works fine, but I don’t know how to order by weight/date etc.
Many thanks in advance.
If you have 100 pages , does this mean you want 50 pagers , with 2 pages per pager ?
Yep, 100 posts, 50 pages. Can’t figure it out.
If you want two pages per pager, either:
Set paginate
in your site configuraiton to 2
Provide a second argument to the .Paginate
method
Like this?
{{ $paginator := .Paginate (first 2 .Pages.ByWeight) 2 }}
Not sure why the docs would be indicating otherwise.
Still can’t get next/prev working
Thanks in advance
You are getting the first two pages, then paginating with 2 pages per pager, resulting in 1 pager, so there isn’t a previous or next.
Get rid of the first 2
part.
Thank you @jmooring !
Do you think it’s worth me making a PR to adjust the docs, It don’t think it says that .Paginate
takes two args?
Tomclark:
a PR to adjust the docs
Well, we already have this, so…