澳门新葡萄京娱乐场Phpcms V9列表分页自定义页码文字(改成中文)

?php/*** 分页类 20080505 ***/
require_once(‘mysql.php’);//mysql.php文件在上一篇日志class page{
private $url; private $pagesize; private $sql; private $getpage;
//参数:sql语句,每页记录数,传递链接(例如index.php?或者index.php?sort=1等)
function __construct($sql,$pagesize,$url) { $this-url= $url;
$this-pagesize = $pagesize; $this-sql= $sql; $this-getpage=
$_GET[page]; if(!$this-getpage) { $this-getpage=1; } } //取记录总数
function getcount() { return mysql_num_rows(mysql_query($this-sql));
} //格式化sql语句 function pagesql() { $nowpage= $this-getpage;
$limitNumber= $this-pagesize; if($nowpage1) { $nowpage=1; } return
$this-sql. limit .($nowpage-1)*$limitNumber.,.$limitNumber; }
//显示分页,参数:显示数字链接个数,开始步进的页 function show($page =
5,$offset = 2){ $mpurl = $this-url; $curr_page = $this-getpage;
$perpage = $this-pagesize; $num=$this-getcount();//总记录数 $multipage =
; if ($num $perpage){ $pages = ceil($num / $perpage); $from =
$curr_page – $offset; $to = $curr_page + $page – $offset – 1; if
($page $pages){ $from = 1; $to = $pages; }else{ if ($from 1){ $to =
$curr_page + 1-$from; $from = 1; if (($to – $from) $page ($to – $from)
$pages){ $to = $page; } }elseif ($to $pages){ $from = $curr_page –
$pages + $to; $to = $pages; if (($to – $from) $page ($to – $from)
$pages){ $from = $pages – $page + 1; } } } $multipage .= script
language=/javascript/ function gotoPage(value) { value =
parseInt(value); if(isNaN(value)) value = 0; if(value1) value = 1;
if(value.$pages.) value = .$pages.; window.location.href =
/.$mpurl.page=/+value; } /script; $multipage .= div class=/p_bar/;
$multipage .= a class=/p_total/.$num./a/n; $multipage .= a
class=/p_pages/.$curr_page./.$pages./a/n; if ($curr_page – $offset
1){ $multipage .= a class=/p_redirect/ href=/.$mpurl.page=1/
title=’首页’/a/n; } for ($i = $from; $i = $to; $i++){ if ($i !=
$curr_page){ $multipage .= a class=/p_num/ href=/.$mpurl.page=.$i./
title=’第.$i.页’.$i./a/n; }else{ $multipage .= a
class=/p_curpage/.$i./a/n; } } if ($curr_page + $offset $pages){
$multipage .= a class=/p_redirect/ href=/.$mpurl.page=$pages/
title=’尾页’/a/n; } $multipage .= input class=/p_input/
title=/输入页数,按回车跳转/ name=/pageGo/ id=/pageGo/
onKeydown=/if(event.keyCode == 13) {gotoPage(this.value);return
false;}//n; //$multipage .= a class=/p_total/.$perpage.条/页/a/n;
$multipage .= /div; } return $multipage; } } ?

在使用PC
v9建站过程中,如果是外贸站,一般列表分页的页码显示是英文的,而中文站希望页面和分页列表希望是中文的,另外有时候还需要自定义,这就涉及到Phpcms
V9列表分页自定义页码文字的方法

在用PHPCMS
V9的过程中,可能一般人都不会在意分页功能,因为调用他实在是很简单,需要修改的估计也就是分页功能的样式了,拿系统自带的模板来看

复制代码代码如下:
{$pages}<>

我们可以修改class来自定义样式,当然有人会说,这个只能修改DIV的样式,无法修改里面的内容的样式,其实之需要看一下这段代码解析出来的实际代码就知道了,而这里的样式可以直接通过head部分内读取的CSS来代替,我就可以在CSS里面添加这样一段,为了方便测试,我直接写在head标签内:

复制代码代码如下:
.text-c {margin:10px 0;}
.text-c a {padding:5px;margin:0 8px;border:1px solid
#ccc;background-color:#eee;}

经过测试是有效的.这里不在说这个了,重点是{$pages}输出的分页效果是固定的,如何让他能够满足自己的需求,比如最简单的系统默认是显示多少条,用上一页,下一页来表示,如果我想改成向后翻,向前翻,怎么办?我经过查找相关资料,对这个功能进行整理得出结果与大家分享出来,涉及修改到的文件只有下面两个:

复制代码代码如下:
phpcmslanguageszh-cnsystem.lang.php
phpcmslibsfunctionsglobal.func.php
phpcmslibclassestemplate_cache.class.php

具体怎么弄,待我慢慢与大家讲解:

首先打开system.lang.php,找到29行LANG[‘next’] =
‘下一页’;处,你可以在下面插入自定义的内容,比如向后翻,向前翻,整理效果应该是这样的,添加完后保存可以关闭了。

……
$LANG[‘page_item’] = ‘条’;
$LANG[‘previous’] = ‘上一页’;
$LANG[‘next’] = ‘下一页’;
$LANG[‘page_item_my’] = ‘篇’; //自定义
$LANG[‘previous_my’] = ‘向前翻’; //自定义
$LANG[‘next_my’] = ‘向后翻’; //自定义
……

然后打开global.func.php,搜索分页函数找到找到function
pages…,在这个函数后复制原函数并修改添加自己想要定义的函数,例如:

复制代码代码如下:
//自定义分页函数
function pages_my($num, $curr_page, $perpage = 20, $urlrule = ”,
$array = array(),$setpages = 10) {
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;
}
$multipage .= ”.$num.L(‘page_item_my’).”;
if($curr_page>0) {
$multipage .= ‘
‘.L(‘previous_my’).’.’)’;
if($curr_page==1) {
$multipage .= ‘ 1’;
} elseif($curr_page>6 && $more) {
$multipage .= ‘
1.’)..’;
} else {
$multipage .= ‘
1.’)’;
}
}
for($i = $from; $i <= $to; $i++) {
if($i != $curr_page) {
$multipage .= ‘
‘.$i.’.’)’;
} else {
$multipage .= ‘ ‘.$i.”;
}
}
if($curr_pageif($curr_page$multipage .= ‘
..’.$pages.’.’)
‘.L(‘next_my’).’.’)’;
} else {
$multipage .= ‘
‘.$pages.’.’)
‘.L(‘next_my’).’.’)’;
}
} elseif($curr_page==$pages) {
$multipage .= ‘ ‘.$pages.’
‘.L(‘next_my’).’.’)’;
} else {
$multipage .= ‘
‘.$pages.’.’)
‘.L(‘next_my’).’.’)’;
}
}
return $multipage;
}

最后打开template_cache.class.php,找到

复制代码代码如下:
$str .= ‘$pages = pages($’.$op.’_total, $page, $pagesize,
$urlrule);’;

处,在下面添加:

复制代码代码如下:
$str .= ‘$pages_my= pages_my($’.$op.’_total, $page, $pagesize,
$urlrule);’;

当然如果使用过程中,发现SQL分页的不能正常使用,再在

复制代码代码如下:
$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_my=pages_my($s[‘count’],
$page, $pagesize, $urlrule);’;

至此大功告成,接下来,你只用在你想要的模板的分页出使用就可以了,例如开头的格式

复制代码代码如下:
{$pages_my}<>

并写上对应的CSS就可以了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注