自定义分页条

在栏目列表页或者内容详情页,存在数据列表标签,且标签page属性为true,例如:<@cms_content>、<@cms_article>、 <@cms_image> 等,那么页面上下文变量中就会存在如下变量,可以通过这些变量来计算分页条需要的参数

  • ${PageTotal} = 列表数据总条数
  • ${PageSize} = 列表每页的数据条数
  • ${PageNo} = 当前页码,从1开始
  • ${FirstPage} = 首页URL
  • ${OtherPage} = 其他页URL,带{0}占位符,可替换为指定页码

如果不是有特殊分页需求,建议直接使用系统内置分页调标签 <@page_bar>,稍微调整CSS样式适应页面样式即可

示例1

使用场景:栏目列表页分页条

<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>

目录