首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

寻求一段好的点的zend framework框架的分页代码

小弟现在需要做一个分页功能,但是由于第一次使用这个框架不知道从何下手,希望在这里能够得到高人得指点帮助解决一下分页功能得实现。谢谢啦!
昵称: come1997  时间: 2007-08-20 16:27:00
我是用 view helper 做的~~传递总页数和每页页数~~
昵称: mikespook  时间: 2007-08-20 20:09:00
朋友能不能说的具体点啊!关于这方面我没有太多经验,所以很想知道的详细一些,谢谢啦!
昵称: come1997  时间: 2007-08-21 09:59:00
我是用smarty的,直接做了一个pager.tpl的文件,用{include file="pager.tpl"}来包含,
pager.tpl的内容为:
{*
pager数组
总数:pRecordTotal
当前页:pCurrent
每页记录数:pSize
url:pUrl

页总数:pagerTotal
前一页:pagerPre
后一页:pagerNext
*}
{math equation="ceil(x / y)" x=$pager.pRecordTotal y=$pager.pSize assign="pagerTotal"}
{math equation="x - 1" x = $pager.pCurrent assign="pagerPre"}
{math equation="x + 1" x = $pager.pCurrent assign="pagerNext"}
{if $pager.pRecordTotal > 1}
                {if $pager.pCurrent eq 1}
                        上一页  
                {else}
                        <a href ="{$pager.pUrl}/{$pagerPre}">上一页</a>  
                {/if}
                {if $pager.pCurrent eq $pagerTotal }
                        下一页  
                {else}
                        <a href ="{$pager.pUrl}/{$pagerNext}">下一页</a>  
                {/if}
                {if $pager.pCurrent eq 1}
                        首页  
                {else}
                        <a href ="{$pager.pUrl}/1">首页</a>  
                {/if}
        {if $pager.pCurrent eq $pagerTotal}
                        最后一页  
                {else}
                        <a href ="{$pager.pUrl}/{$pagerTotal}">最后一页</a>  
                {/if}
{/if}(共{$pagerTotal}页)

调用时,用了{include file="pager.tpl" pager=$pager}
$pager为数组,里面包记录总数,和每页条数,与当前页。

总页数在pager.tpl里用{math}语句计算,,,如果怕{math}语句的效率问题,可以在后台先计算好,并放入$pager数组。
昵称: suwu  时间: 2007-08-23 17:12:00
这样的好处是,我可以设计好多个不同风格的pager.tpl,并用在需要的地方
昵称: suwu  时间: 2007-08-23 17:22:00
{*
pager数组
总数:pRecordTotal
当前页:pCurrent
每页记录数:pSize
url:pUrl

页总数:pagerTotal
前一页:pagerPre
后一页:pagerNext
*}
{math equation="ceil(x / y)" x=$pager.pRecordTotal y=$pager.pSize assign="pagerTotal"}
{math equation="x - 1" x = $pager.pCurrent assign="pagerPre"}
{math equation="x + 1" x = $pager.pCurrent assign="pagerNext"}
{if $pager.pRecordTotal > 1}
        {section  name=i loop=$pagerTotal}
                  {if $pager.pCurrent eq $smarty.section.i.iteration}
                          {$smarty.section.i.iteration}
                  {else}
                        <a href ="{$pager.pUrl}/{$smarty.section.i.iteration}">{$smarty.section.i.iteration}</a>  
                {/if}
        {/section}
{/if}

另一个样式。
昵称: suwu  时间: 2007-08-23 23:31:00
谢谢。我参考一下,等又方法,再传一个我的上来和大家分享一下
昵称: come1997  时间: 2007-08-29 15:42:00