说明:用于获取文章列表、产品列表的分页信息
使用方法:{% pagination 变量名称 with show="5" %}
如将变量定义为 pages {% pagination pages with show="5" %}...{% endpagination %}
pagination 支持 一个参数:
- 显示页码数量
show
可以设置如果指定数量页码的时候,最多显示多少页码。如show="5"
可以最多显示5页。 - 重定义pattern
prefix
高级功能,一般不需要设置。如确有需要,需要包含{page}
,可以设置如:prefix="?page={page}"
pagination 可用的字段有:
- 总条数
TotalItems
- 总页码数
TotalPages
- 当前页码
CurrentPage
- 首页对象
FirstPage
- 末页对象
LastPage
- 上一页对象
PrevPage
- 下一页对象
NextPage
- 中间页码数组
Pages
Pages 是一个数组对象,因此需要使用 for
循环来输出
其中 Pages 内的 pageItem 可用的字段有:
- 页码名称
Name
- 页码链接
Link
- 是否当前页
IsCurrent
<div class="pagination">
{% pagination pages with show="5" %}
<ul>
<li>总数:{{pages.TotalItems}}条,总共:{{pages.TotalPages}}页,当前第{{pages.CurrentPage}}页</li>
<li class="page-item {% if pages.FirstPage.IsCurrent %}active{% endif %}"><a href="{{pages.FirstPage.Link}}">{{pages.FirstPage.Name}}</a></li>
{% if pages.PrevPage %}
<li class="page-item"><a href="{{pages.PrevPage.Link}}">{{pages.PrevPage.Name}}</a></li>
{% endif %}
{% for item in pages.Pages %}
<li class="page-item {% if item.IsCurrent %}active{% endif %}"><a href="{{item.Link}}">{{item.Name}}</a></li>
{% endfor %}
{% if pages.NextPage %}
<li class="page-item"><a href="{{pages.NextPage.Link}}">{{pages.NextPage.Name}}</a></li>
{% endif %}
<li class="page-item {% if pages.LastPage.IsCurrent %}active{% endif %}"><a href="{{pages.LastPage.Link}}">{{pages.LastPage.Name}}</a></li>
</ul>
{% endpagination %}
</div>