Home  >  Article  >  php教程  >  Zend Framework实现留言本分页功能(附demo源码下载),zenddemo

Zend Framework实现留言本分页功能(附demo源码下载),zenddemo

WBOY
WBOYOriginal
2016-06-13 08:43:341002browse

Zend Framework实现留言本分页功能(附demo源码下载),zenddemo

本文实例讲述了Zend Framework实现留言本分页功能的方法。分享给大家供大家参考,具体如下:

这里的分页功能运用了..Zend_Paginator这个组件来实现留言本分页...这里我也是参考PHPCHINA里一位PHPer写的这方面的教程

我实现的坏境以及项目的目录安排是在第三篇教程的基础上写的..如果有朋友不明白目录什么的安排..请用ZF1.6.0以上.请自己前面的文章里找一下这篇教程...我在这里就不多说什么了..谢谢..

第一步:在我们的控制器里面,也就是indexController.php里找到indexAction这个动作.我们可以看到..在这个动作里.我们相关教程只是取数据..我们现在把这个动作(Action)改写成如下形式..如下代码(有注解):

function indexAction()
{
$message=new message();//实例化数据库类
//取到所有留言getAllMessage,getAllReMessage
//二个方法在Model(Message.php)里定义的
//取到所有回复数据
$this->view->arrReviews=$message->getAllReMessage();
$page =1;//高置默认页
$numPerPage = 3;//每页显示的条数
if(isset($_GET['page']) && is_numeric($_GET['page'])){
   $page = $_GET['page'];//取到URL传过来的页数码
}
$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为全局变量,它就是你网站根目录!):

if ($this->pageCount): ?>
class="paginationControl">
 if (isset($this->previous)): ?>
 "index/index/?page=
previous; &#63;> ">< 上一页 |
 else: &#63;>
 class="disabled">< 上一页 |
 endif; &#63;>
 foreach ($this->pagesInRange as $page): &#63;>
  if ($page != $this->current): &#63;>
"index/index/&#63;page=
">$page; &#63;> |
  else: &#63;>   = $page; &#63;> |
  endif; &#63;> endforeach; &#63;>
 if (isset($this->next)): &#63;>
 "index/index/&#63;page=
next; &#63;>">下一页 >
 else: &#63;>
 class="disabled">下一页 >
 endif; &#63;>
 endif; &#63;>

第三步:找到留言本显示页的index.pthml模板页,把原来:

foreach($this->messages as $message): &#63;>

这个换成

if (count($this->paginator)): &#63;>
 $i=1; foreach ($this->paginator as $message): &#63;>

之后.我们再在最后面加一分页的显示:

= $this->paginationControl($this->paginator,
'Elastic', 'pagestyle.phtml'); &#63;>

这样..我们就可以看到我们留言分页大功告成

完整实例代码点击此处本站下载。

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

您可能感兴趣的文章:

  • Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
  • Zend Framework入门知识点小结
  • Zend Framework 2.0事件管理器(The EventManager)入门教程
  • Zend Framework框架Smarty扩展实现方法
  • Zend Framework框架路由机制代码分析
  • Zend Framework实现具有基本功能的留言本(附demo源码下载)
  • Zend Framework实现将session存储在memcache中的方法
  • Zend Framework实现多文件上传功能实例
  • Zend Framework缓存Cache用法简单实例
  • Zend Framework基本页面布局分析
  • Zend Framework+smarty用法实例详解
  • Zend Framework自定义Helper类相关注意事项总结
  • Zend Framework开发入门经典教程
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn