在栏目列表页或者内容详情页,存在数据列表标签,且标签page属性为true。
例如:<@cms_content>、<@cms_article>、 <@cms_image>
等,当存在分页标签时,页面上下文变量中就会存在分页相关变量,可以通过这些变量来计算分页条需要的参数,分页变量如下:
${PageTotal}
= 列表数据总条数${PageSize}
= 列表每页的数据条数${PageNo}
= 当前页码,从1开始${FirstPage}
= 首页URL${OtherPage}
= 其他页URL,带{0}
占位符,可替换为指定页码如果不是有特殊分页需求,建议直接使用系统内置分页调标签
<@page_bar>
,稍微调整CSS样式适应页面样式即可
使用场景:栏目列表页分页条
<div class="paginator">
<#if PageTotal gt 0>
<#if PageTotal==0>
<#assign PageCount=1 />
<#else>
<#assign PageCount=(PageTotal + PageSize - 1) / PageSize />
</#if>
<#if PageNo gt 1>
<#if PageNo==2>
<a href="${FirstPage}" class="link">上一页</a>
<#else>
<a href="${OtherPage?replace('{0}', PageNo-1)}" class="link">上一页</a>
</#if>
</#if>
/* 注意:此处会展示所有页码 */
<#list 1..PageCount as pn>
<#if PageNo==pn>
<a href="#" class="link link-active">${pn}</a>
<#else>
<#if 1==pn>
<a href="${FirstPage}" class="link">${pn}</a>
<#else>
<a href="${OtherPage?replace('{0}', pn)}" class="link">${pn}</a>
</#if>
</#if>
</#list>
<#if PageNo lt PageCount?int>
<a href="${OtherPage?replace('{0}', PageNo+1)}" class="link">下一页</a>
</#if>
</#if>
</div>
多个模板公用分页条样式时,可以用分页条代码创建一个独立的模板,在各个模板通过<@cms_inclue>
标签引用,要求将<@cms_include>
标签的属性ssi
和cache
均设置为false,例如:
<@cms_include file="pagebar.template.html" ssi="false" cache="false"></@cms_include>