本文实例讲述了Zend Framework实现留言本分页功能的方法。分享给大家供大家参考,具体如下: 这里的分页功能运用了..Zend_Paginator这个组件来实现留言本分页...这里我也是参考PHPCHINA里一位PHPer写的这方面的教程 我实现的坏境以及项目的目录安排是在第三
本文实例讲述了Zend Framework实现留言本分页功能的方法。分享给大家供大家参考,具体如下:
这里的分页功能运用了..Zend_Paginator这个组件来实现留言本分页...这里我也是参考PHPCHINA里一位PHPer写的这方面的教程
我实现的坏境以及项目的目录安排是在第三篇教程的基础上写的..如果有朋友不明白目录什么的安排..请用ZF1.6.0以上.请自己前面的文章里找一下这篇教程...我在这里就不多说什么了..谢谢..
第一步:在我们的控制器里面,也就是indexController.php里找到indexAction这个动作.我们可以看到..在这个动作里.我们相关教程只是取数据..我们现在把这个动作(Action)改写成如下形式..如下代码(有注解):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function indexAction()
{
$message = new message();
$this ->view->arrReviews= $message ->getAllReMessage();
$page =1;
$numPerPage = 3;
if (isset( $_GET [ 'page' ]) && is_numeric ( $_GET [ 'page' ])){
$page = $_GET [ 'page' ];
}
$array = $message ->getAllMessage();
$paginator = Zend_Paginator::factory( $array );
$paginator ->setCurrentPageNumber( $page )
->setItemCountPerPage( $numPerPage );
$this ->view->paginator = $paginator ;
echo $this ->view->render( 'header.phtml' );
echo $this ->view->render( 'message/index.phtml' );
echo $this ->view->render( 'footer.phtml' );
}
|
登录后复制
第二步:搞定我们要分页的样式,这里是以一个HTML设定分页的样式..在Zend Framework手册上.提供了三种分页显示的方式...大家可以自己去看一下他们的用法..其实很简单的..我运用了它的第一种.我们就在views/scripts/目录下建立一个新的模板页pagestyle.phtml..这个模板页是和留言本header.phtml以及footer.phtml同一级的..因为我们可能以后还会用到这个分页方式..所以我就放在这里..:pagestyle.phtml代码如下所示:(注意:在这里请在你的入口文件index.php定义一下你的WEB_ROOT为全局变量,它就是你网站根目录!):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | if ( $this ->pageCount): ?>
class = "paginationControl" >
if (isset( $this ->previous)): ?>
"index/index/?page=
previous; ?> ">< 上一页 |
else : ?>
class = "disabled" >< 上一页 |
endif ; ?>
foreach ( $this ->pagesInRange as $page ): ?>
if ( $page != $this ->current): ?>
"index/index/?page=
"> $page ; ?> |
else : ?> = $page ; ?> |
endif ; ?> endforeach ; ?>
if (isset( $this ->next)): ?>
"index/index/?page=
next; ?>">下一页 >
else : ?>
class = "disabled" >下一页 >
endif ; ?>
endif ; ?>
|
登录后复制
第三步:找到留言本显示页的index.pthml模板页,把原来:
1 | foreach ( $this ->messages as $message ): ?>
|
登录后复制
这个换成
1 2 | if ( count ( $this ->paginator)): ?>
$i =1; foreach ( $this ->paginator as $message ): ?>
|
登录后复制
之后.我们再在最后面加一分页的显示:
1 2 | = $this ->paginationControl( $this ->paginator,
'Elastic' , 'pagestyle.phtml' ); ?>
|
登录后复制
这样..我们就可以看到我们留言分页大功告成
完整实例代码点击此处本站下载。
更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。