说明:用于获取文章列表、产品列表的分页信息
使用方法:{% 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>