Coldfusion 限制分页列表上的页数
我正在改造一个站点的寻呼系统,我遇到了一些简单的问题,我似乎无法解决。我试图一次显示页面(123445),当用户到达第5页时,列表会变为(45678)。我如何使用cfloop实现这一点?以下是我的代码示例:Coldfusion 限制分页列表上的页数,coldfusion,paging,Coldfusion,Paging,我正在改造一个站点的寻呼系统,我遇到了一些简单的问题,我似乎无法解决。我试图一次显示页面(123445),当用户到达第5页时,列表会变为(45678)。我如何使用cfloop实现这一点?以下是我的代码示例: <cfloop from="1" to="#totalPages#" index="i"> <cfoutput><a class="paging" href="?start=#(i*25)-24#">#i#</a></cfoutput&g
<cfloop from="1" to="#totalPages#" index="i">
<cfoutput><a class="paging" href="?start=#(i*25)-24#">#i#</a></cfoutput>
</cfloop>
目前它一次显示了第1-54页。有什么建议吗?这是我的代码
<cfset curPage = Int(start / 25) + 1>
<cfloop from="1" to="#totalPages#" index="i">
<cfif i is curPage>
<div class="page current">#i#</div>
<cfelse>
<cfif totalPages lte 5 or i is 1 or i is totalPages or (i gt curPage - 3 and i lt curPage + 3) or ((curPage is 1 or curPage is 2) and i lt 6) >
<div class="page"><a href="?start=#(i*25)-24#">#i#</a></div>
<cfelse>
<cfif i is 2 or i is totalPages - 1>
<div class="more">...</div>
</cfif>
</cfif>
</cfif>
</cfloop>
#我#
...
这段代码的作用是显示前5页,然后是省略号,然后是最后一页。当你翻阅它时,它将始终显示到第一页和最后一页的链接,加上当前页前后的两页
截图:第1页和第10页
您应该能够轻松地修改它,使其完全按照您想要的方式工作。(我不喜欢所有链接都按照您描述的方式同时更改)怎么样:
<cfloop from="#url.startpage#" to="#url.startpage+4#" index="i">
<cfif i LE totalpages>
<cfoutput><a class="paging" href="?start=#(i*25)-24#">#i#</a></cfoutput>
</cfif>
</cfloop>
当然,您需要在url中添加“startpage”,并对其进行适当的操作。因此,您的第一个链接是startpage=1,但最后一个链接是startpage=4(如果我正确理解您的问题)。有一个很棒的开源分页库可以解决您的问题。因为是我写的,所以我不能说太多关于它的好话。无耻,我知道。无论如何:
看看这些文档,它们非常完整,非常有用。在代码中,打印页码非常简单,只需调用
#pagination.getRenderedHTML()#
。它是非常可定制的,因此您可以更改打印的数字,并可以根据自己的喜好设置输出样式。这看起来很棒,谢谢。但是我有一个问题,我应该如何定义result和curpage?对不起,我需要清理upI添加的for curpage变量。25应该是您在一页上显示的任意数量的项目。没有理由使用结果变量,我删除了它。