PHPCMS V9分页listinfo方法传递url规则的实现方法

发布时间:2019-07-22编辑:脚本学堂
PHPCMS V9分页listinfo方法传递url规则的实现方法

先看下listinfo方法的调用:

复制代码 代码如下:
$tagdata = $tagsdb_content->listinfo($sql_arr,$sql_ord, $i, $pagesize, '', $pagesize, APP_PATH.'/tags/'.$tagid.'.html~'.APP_PATH.'/tags/'.$tagid.'-{$page}.html');
$pages = $tagsdb_content->pages;

这里的 $pages ,就是直接写入到模板里的分页代码。
做二次开发时,需要注意到传入的url规则要用 ~ 分开。

查看该方法的原型:

复制代码 代码如下:
    /**
      * 查询多条数据并分页
      * @param $where
      * @param $order
      * @param $page
      * @param $pagesize
      * @return unknown_type
      */
    final public function listinfo($where = '', $order = '', $page = 1, $pagesize = 20, $key='', $setpages = 10,$urlrule = '',$array = array()) {
      $where = to_sqls($where);
      $this->number = $this->count($where);
      $page = max(intval($page), 1);
      $offset = $pagesize*($page-1);
      $this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
      $array = array();
      if ($this->number > 0) {
       return $this->select($where, '*', "$offset, $pagesize", $order, '', $key);
      } else {
       return array();
      }
    }

可以看出其内部还是调用了 pages 函数来进行分页,实际上这里传入url规则id是否可行暂未知,不过如果传递非id类型,就必须以 ~ 区分分页规则。
本文介绍的为试验型的方法,实际环境中请谨慎选择使用。