A-A+

PHPCMS V9 分页类的修改教程

2015年12月13日 phpcms 暂无评论 阅读 116 次

PHPCMS V9 分页类的修改教程

一.首先,打开 phpcmslibsfunctionsglobal.func.php 这个文件,找到文件第622行的分页函数,复制一下,粘贴到默认分页函数的下面,重新命名后保存。(笔者在此命名为:pages_new)

1

11

二.

接着,注意这里根据自己的需求,修改分页类的调用。

1.自定义 PC 标签进行 SQL 查询的分页类修改

打开 phpcms/libs/classes/template_cache.class.php 这个文件,找到文件第178行的$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$pages=pages($s['count'], $page, $pagesize, $urlrule);';

将其复制在这行的下面,并修改变量名

$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$pages_new=pages_new($s['count'], $page, $pagesize, $urlrule);';

2

保存。

2.常用分页类修改:

打开 phpcms/libs/classes/template_cache.class.php 这个文件,找到文件第207行(如果修改了 自定义 PC 标签的,请找第208行)的$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);';

将其复制在这行的下面,并修改变量名$str .= '$pages_new = pages_new($'.$op.'_total, $page, $pagesize, $urlrule);';

3

保存。

3.会员中心的收藏列表分页类修改:

打开 phpcmslibsclassesmodel.class.php 这个文件,找到文件第 61 行的$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);

将其复制在这行的下面,并修改变量名$this->pages = pages_new($this->number, $page, $pagesize, $urlrule, $array, $setpages);

保存。4

最后,在前台模板中的{$pages}要修改为{$pages_new},就完成了。

 

ps:可以卸载自定义函数库内

<?php
/**
 *  extention.func.php 用户自定义函数库
 *
 * @copyright        (C) 2005-2010 PHPCMS
 * @license             http://www.phpcms.cn/license/
 * @lastmodify       2010-10-27
 */

/**
 * 自定义分页样式
 *
 * @param $num 信息总数
 * @param $curr_page 当前分页
 * @param $perpage 每页显示数
 * @param $urlrule URL规则
 * @param $array 需要传递的数组,用于增加额外的方法
 * @return 分页
 */
function pages_new($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(),$setpages = 5) {
   if(defined('URLRULE') && $urlrule == '') {
      $urlrule = URLRULE;
      $array = $GLOBALS['URL_ARRAY'];
   } elseif($urlrule == '') {
      $urlrule = url_par('page={$page}');
   }
   $multipage = '';
   if($num > $perpage) {
      $page = $setpages+1;
      $offset = ceil($setpages/2-1);
      /* 页数 */
      $pages = ceil($num / $perpage);
      if (defined('IN_ADMIN') && !defined('PAGES')) define('PAGES', $pages);
      $from = $curr_page - $offset;
      $to = $curr_page + $offset;
      $more = 0;
//用于设置隐藏多余固定页数的分页码
      if($page >= $pages) {
         $from = 2;
         $to = $pages-1;
      } else {
         if($from <= 1) {
            $to = $page-1;
            $from = 2;
         }  elseif($to >= $pages) {
            $from = $pages-($page-2);
            $to = $pages-1;
         }
         $more = 1;
      }


/* 
                                <li class="disabled"><span class="current prev">&lt;</span></li>
                                <li class="active"><span class="current">1</span></li>
                                <li><a href="#page-2" class="page-link">2</a></li>
                                <li><a href="#page-2" class="page-link next">&gt;</a></li> */


//    $multipage .= '<a class="a11">'.$num.L('page_item').'</a>';
//当前页大于0
      if($curr_page>0) {

// $multipage .= '<li> <a href="'.pageurl($urlrule,%20$curr_page-1,%20$array).'" class="a1">'.L('previous').'</a></li>';
//当前页=1
         if($curr_page==1) {
             $multipage .= '<li class="disabled"><span class="current prev">&lt;</span></li>';
//                $multipage .= '<a class="a11">'.$num.L('page_item').'</a>';
            $multipage .= ' <span>1</span>';

//    大于几页后设置隐藏
         } elseif($curr_page>6 && $more) {
         $multipage .= '<li> <a href="'.pageurl($urlrule,%20$curr_page-1,%20$array).'" class="page-link prev">&lt;</a></li>';
            $multipage .= ' <li><a href="'.pageurl($urlrule,%201,%20$array).'">1</a>..<li>';
         } else {
//       当前页 小于6
         $multipage .= '<li> <a href="'.pageurl($urlrule,%20$curr_page-1,%20$array).'" class="page-link prev">&lt;</a></li>';
            $multipage .= '<li> <a href="'.pageurl($urlrule,%201,%20$array).'">1</a><li>';
         }
      }
      for($i = $from; $i <= $to; $i++) {
         if($i != $curr_page) {
//       非当前页样式
            $multipage .= ' <li>  <a href="'.pageurl($urlrule,%20$i,%20$array).'">'.$i.'</a></li>';
         } else {
//       当前页样式
            $multipage .= ' <li class="active">  <span class="current">'.$i.'</span></li>';
         }
      }
//    当前页 < 总页数
      if($curr_page<$pages) {
//    后面多余几项后隐藏
         if($curr_page<$pages-4 && $more) {
         
            $multipage .= ' <li> ..<a href="'.pageurl($urlrule,%20$pages,%20$array).'">'.$pages.'</a></li><li> <a href="'.pageurl($urlrule,%20$curr_page+1,%20$array).'" class="page-link next">&gt;</a></li>';
         } else {
            echo "if+";
            $multipage .= '<li>  <a href="'.pageurl($urlrule,%20$pages,%20$array).'">'.$pages.'</a></li><li>  <a href="'.pageurl($urlrule,%20$curr_page+1,%20$array).'" class="page-link next">&gt;</a></li>';
         
         }
//       当前页=总页数
      } elseif($curr_page==$pages) {
         $multipage .= ' <li class="active"><span class="current">'.$pages.'</span></li> <li class="disabled"> <a href="'.pageurl($urlrule,%20$curr_page,%20$array).'" class="current">&gt;</a></li>';
      } else {
         $multipage .= ' <li> <a href="'.pageurl($urlrule,%20$pages,%20$array).'">'.$pages.'</a> <a href="'.pageurl($urlrule,%20$curr_page+1,%20$array).'" class="page-link next">&gt;</a></li>';
      }
   }
   return $multipage;
}


?>

 

 

标签:

给我留言

Copyright © web前端技术开发个人博客 保留所有权利  京ICP备14060653号 Theme  Ality

用户登录