Ecstore中finder”查看”下的分页实现
来源:互联网 发布:ubuntu hadoop2 编辑:程序博客网 时间:2024/06/07 19:50
我们经常在finder中使用”查看”列出改条数据的一些详细信息,那么如果列出的信息太多导致一个页面放不下了怎么办呢?今天我就给大家讲讲如何在finder“查看”中进行分页。
首先,我们需要在lib/finder/xxx.php中添加构建函数__construct(),进行一些参数设定:
class notebook_finder_item{ public function __construct($app) { $this->app = $app; $this->render = app::get('notebook')->render(); $this->controller = app::get('notebook')->controller('admin_notebook'); $this->pagelimit=10; }
然后,在“查看”的方法中做以下修改:
function detail_email($id){ if(!$id) return null; $render = app::get('notebook')->render();$nPage = $_GET['detail_email'] ? $_GET['detail_email'] : 1;$singlepage = $_GET['singlepage'] ? $_GET['singlepage']:false; $Oemail = kernel::single("notebook_mdl_item"); $items = $Oemail->db->select('select item_email from sdb_notebook_item limit '.$this->pagelimit*($nPage-1).','.$this->pagelimit); $this->render->pagedata['item'] = $items; if($_GET['page']) unset($_GET['page']); $_GET['page'] = 'detail_email'; $count =$Oemail->count(); $render->pagedata['pager']=$a=$this->controller->pagination($nPage,$count,$_GET); return $this->render->fetch('admin/itememail.html'); }
同时,我们要把detail_edit复制一份放到对应的controller中,添加如下函数:
class notebook_ctl_admin_notebook extends desktop_controller{ var $workground = 'notebook_ctl_admin_notebook'; var $pagelimit = 10; public function __construct($app) { parent::__construct($app); header("cache-control: no-store, no-cache, must-revalidate"); }function detail_email($id=null){ if(!$id) return null; $render = $this->app->render();$nPage = $_GET['detail_email'] ? $_GET['detail_email'] : 1; $Oemail = kernel::single("notebook_mdl_item"); $items = $Oemail->db->select('select item_email from sdb_notebook_item limit '.$this->pagelimit*($nPage-1).','.$this->pagelimit); //print_r($nPage);die; $render->pagedata['item'] = $items; if($_GET['page']) unset($_GET['page']); $_GET['page'] = 'detail_email'; $count =$Oemail->count(); $render->pagedata['pager']=$this->pagination($nPage,$count,$_GET); return $render->fetch('admin/itememail.html'); } public function pagination($current,$count,$get){ //本控制器公共分页函数 $app = app::get('notebook'); $render = $app->render(); $ui = new base_component_ui($this->app); $link = 'index.php?app=notebook&ctl=admin_notebook&act=ajax_html&id='.$get['id'].'&finder_act='.$get['page'].'&'.$get['page'].'=%d';//echo $link; $this->pagedata['pager'] = $ui->pager(array( 'current'=>$current, 'total'=>ceil($count/$this->pagelimit), 'link' =>$link, )); return $this->pagedata['pager']; } public function ajax_html() { $finder_act = $_GET['finder_act'];//print_r($_GET['id']);die; $html = $this->$finder_act($_GET['id']); echo $html; }
最后一步,在html页面中要显示分页信息的地方,加入变量<{$pager}>,就OK了!
2 0
- Ecstore中finder”查看”下的分页实现
- ecstore后台finder的取数据流程
- 一、在Finder中查看文件夹大小:
- 快速下单!简化EcStore的购物结算流程
- Mac 操作系统中使用Finder查看文件完整路径的方法
- mac下直接打开finder的快捷键
- spy++中的Finder tool的实现
- extjs的grid实现分页查看功能
- 通过automator实现在finder下自动打开vim
- Mac在Finder中当前目录下打开iTerm2
- hibernate中分页的实现
- PHP中分页的实现
- SSH中分页的实现
- java中分页的实现
- Ecstore中如何调用发起Ajax请求
- finder中找不到硬盘
- WinForm下编写分页控件,实现DataGridView的分页效果
- smarty下分页的简单实现
- Java Web页面注销登录结束整个会话
- HTML5服务器推送消息的各种解决办法
- 关于IO流文件遍历中过滤功能实现
- C3P0的三种配置方式以及基本配置项详解
- 直接修改别人jar包里面的class文件 工具:jclasslib
- Ecstore中finder”查看”下的分页实现
- H264文件封装MP4文件
- windows下ftp计划任务上传失败的一些问题
- Android代码混淆技术总结(一)
- Kubernetes 1.6.2部署小结
- Android--SQLite数据库分页
- 线程池调整真的很重要
- redis2
- 龙书D3D11 Demo配置(VS2015+win10)之Init Direct3D项目