protected function _waterfall($mod, $where = '', $order = "", $pagesize = 5) { import("ORG.Util.Page"); $p = !empty($_GET['p']) ? intval($_GET['p']) : 1; $sp = !empty($_GET['sp']) ? intval($_GET['sp']) : 1; $ajax = !empty($_GET['ajax']) ? true : false; $sp > C('pin_wall_spage_max') && exit; $list_rows = C('pin_wall_spage_max') * C('pin_wall_spage_size'); $s_list_rows = C('pin_wall_spage_size'); $show_sp = 0; $count = $mod->where($where)->count(); $count > $s_list_rows && ($show_sp = 1); $pager = new Page($count, $list_rows); $pager->setConfig('theme', '%first% %upPage% %linkPage% %downPage% %end%'); $first_row = $pager->firstRow + $s_list_rows * ($sp - 1); $items_list = $mod->relation(true)->where($where)->limit($first_row . ',' . $s_list_rows)->order($order)->select(); //print_r($mod->getLastSql());exit(); $this->assign('page', $pager->show()); $this->assign('p', $p); $this->assign('show_sp', $show_sp); $this->assign('sp', $sp); $_parse = '_parse_' . $mod->getModelName(); if (method_exists($this, $_parse)) { eval('$items_list=$this->' . $_parse . '($items_list);'); } $_before = '_before_' . ACTION_NAME; if (method_exists($this, $_before)) { eval('$items_list=$this->' . $_before . '($items_list);'); } $this->assign('show_load', 1); //总数大于单页数才显示分页 $this->assign('page_bar', $pager->fshow()); //print_r($items_list);exit(); $this->assign($mod->getModelName() . '_list', $items_list); if (IS_AJAX && $sp >= 2 || $ajax) { $resp = $this->fetch('public:ajax_' . $mod->getModelName() . '_list'); //print_r(); $data = array('isfull' => 1, 'html' => $resp); $this->ajaxReturn(1, '', $data); } else { $this->display(); } }