国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > PhpCMS > 正文

phpcms自定義分頁樣式

2024-09-10 07:15:33
字體:
來源:轉載
供稿:網友

使用phpcms建站的朋友經常會遇到自定義分頁樣式,那么如何使用phpcms來自定義分頁樣式呢?

phpcms做網站的時候,可能很多時候分頁樣式都是根據需求來的,這時很多人都會去修改全局文件phpcms/libs/functions/global.func.php里的pages()函數,這樣問題就來了:這個分頁函數連后臺也會影響到的,就是說,這個分頁函數是全站共用的,下面提供解決方法,這個得修改文件,修改前記得備份.

打開 phpcms/libs/functions/global.func.php這個文件,找到分頁函數,復制一下,粘貼到默認分頁函數的下面,重新命名,比如我的就命名為wz_pages,保存。

打開 phpcms/libs/classes/template_cache.class.php,找到207行的:$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);'; 在這行的下面加上:

$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule);';

保存,最后,如果你要使用你自定義的分頁函數,那么在模板中直接用{$wz_pages}就可以了,以后要修改樣式,直接修改:

phpcms/libs/functions/global.func.php這個文件中的wz_pages函數就可以了,不會影響到后臺,后續優化.

使用過程中,發現使用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();$wz_pages=wz_pages($s[/'count/'], $page, $pagesize, $urlrule);';

這樣,SQL的分頁也正常了,再次后續優化,有朋友提到,會員中心的收藏列表分頁不能使用上面的辦法。  

因為收藏列表的分頁函數直接在其他文件定好了,所以通過修改模板緩存文件是不可行的,下面提供修改辦法:

phpcms/libs/classes/model.class.php?第61行 $this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);      

把上面這行修改成:

$this->pages = wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);

模板中的{$pages}不用改為{$wz_pages}),上面是第一種辦法.

不過這樣子的話,可能后臺也會影響到了,這個地方好像是控制好多地方的,也可以這樣修改,還是上面那個文件,61行不要修改,直接在61行下面添加:

$this->wz_pages= wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);

再去到:phpcms/modules/member/index.php 718行,把下面這行,$pages = $this->favorite_db->pages;修改為:

$wz_pages = $this->favorite_db->wz_pages;

模板中的{$pages}要修改為{$wz_pages},若我要做成下面的樣式改如何實現.

比如上面的末頁,系統自帶的是尾頁,system.lang.php找到在第三十行把尾頁改成 末頁,然后解析來在,global.func.php自定義函數,,首先在:/global.func.php這個文件,自定義函數,代碼如下:

  1. /** 
  2.  * 自定義分頁函數 
  3.  * 
  4.  * @param $num 信息總數 
  5.  * @param $curr_page 當前分頁 
  6.  * @param $perpage 每頁顯示數 
  7.  * @param $urlrule URL規則 
  8.  * @param $array 需要傳遞的數組,用于增加額外的方法 
  9.  * @return 分頁 
  10.  */ 
  11. function wz_pages($num$curr_page$perpage = 20, $urlrule = ''$array = array(),$setpages = 10) { 
  12. if(defined('URLRULE') && $urlrule == '') { 
  13. $urlrule = URLRULE; 
  14. $array = $GLOBALS['URL_ARRAY']; 
  15. elseif($urlrule == '') { 
  16. $urlrule = url_par('page={$page}'); 
  17. $multipage = ''
  18. if($num > $perpage) { 
  19. $page = $setpages+1; 
  20. $offset = ceil($setpages/2-1); 
  21. $pages = ceil($num / $perpage); 
  22. if (defined('IN_ADMIN') && !defined('PAGES')) define('PAGES'$pages); 
  23. $from = $curr_page - $offset
  24. $to = $curr_page + $offset
  25. $more = 0; 
  26. if($page >= $pages) { 
  27. $from = 2; 
  28. $to = $pages-1; 
  29. else { 
  30. if($from <= 1) { 
  31. $to = $page-1; 
  32. $from = 2; 
  33. }  elseif($to >= $pages) { 
  34. $from = $pages-($page-2); 
  35. $to = $pages-1; 
  36. $more = 1; 
  37. //$multipage .= ''.$num.L('page_item').''; 
  38. if($curr_page>0) { 
  39. $multipage .= 
  40. .pageurl($urlrule$curr_page-1, $array).'" >'.L('previous').'
  41. '
  42. if($curr_page==1) { 
  43. $multipage .= ' 1
  44. '
  45. elseif($curr_page>6 && $more) { 
  46. $multipage .= 
  47. .pageurl($urlrule, 1, $array).'">1
  48. ..'
  49. else { 
  50. $multipage .= 
  51. .pageurl($urlrule, 1, $array).'">1
  52. '
  53. for($i = $from$i <= $to$i++) { 
  54. if($i != $curr_page) { 
  55. $multipage .= '
  56.  .pageurl($urlrule$i$array).'">'.$i.'
  57. '
  58. else { 
  59. $multipage .= ' '.$i.'
  60. '
  61. if($curr_page<$pages) { 
  62. if($curr_page<$pages-5 && $more) { 
  63. $multipage .= ' ..
  64.  .pageurl($urlrule$pages$array).'">'.$pages.'
  65.  
  66. .pageurl($urlrule$curr_page+1, $array).'" >'.L('next').'
  67. '
  68. else { 
  69. $multipage .= '
  70.  .pageurl($urlrule$pages$array).'">'.$pages.'
  71.  
  72.  .pageurl($urlrule$curr_page+1, $array).'" >'.L('next').'
  73. '
  74. elseif($curr_page==$pages) { 
  75. $multipage .= ' '.$pages.'
  76.  .pageurl($urlrule$curr_page$array).'" >'.L('next').''
  77. else { 
  78. $multipage .= 
  79. .pageurl($urlrule$pages$array).'">'.$pages.'
  80.  
  81.  .pageurl($urlrule$curr_page+1, $array).'" >'.L('next').'
  82. '
  83. //Vevb.com 
  84. return $multipage

第二步驟:phpcms/libs/classes/model.class.php?第61行

  1. $this->pages = pages($this->number, $page$pagesize$urlrule$array$setpages);      把上面這行修改成:  
  2. $this->pages = wz_pages($this->number, $page$pagesize$urlrule$array$setpages);  

在頁面中調用:

  1. <div class="page"><ul> 
  2. {$wz_pages} 
  3. ul> 
  4. div> 

css樣式里面添加:

  1. .page ul{width:99%;margin:0 auto;}.page ul li{float:left;border:1px solid #ccc;line-heigth:25px;margin:0 2px;padding:0 4px;}.page ul li a{display:block;}.page ul li a:hover{color:red;}.thisclass{background:#ccc;} 

到此介紹完畢了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泰和县| 辛集市| 萍乡市| 石门县| 砚山县| 天气| 平邑县| 财经| 深圳市| 德惠市| 永年县| 康乐县| 望江县| 休宁县| 大埔区| 墨脱县| 南开区| 丽江市| 安远县| 和平区| 巴青县| 淮滨县| 固始县| 会理县| 临湘市| 荆门市| 南开区| 遵化市| 清徐县| 苍溪县| 桂林市| 观塘区| 兴安盟| 伊春市| 吕梁市| 尼勒克县| 盐源县| 西和县| 买车| 大港区| 宿松县|