织梦中通过dede:pagelist实现中英文分页效果
首先需要找到安装目录下的include/arc.listvieclass.php
上面代码已经做了如下的修改:ynwuguji
1、添加变量$pagelang
2、从页面中读取数据,并去除空格
3、找到里面的2个同名方法GetPageListDM()动态和静态的
将里面的方法进行如下替换
/**
*获取静态的分页列表
*
* access public
* param string$list_len列表宽度
* param string$list_len列表样式
* return string
*/
//获取静态的分页列表
function GetPageListST($list_len,$listitem="index,end,pre,next,pageno",$pagelang)
else
$prepage=$nextpage='';
$prepagenum=$this>PageNo1;
$nextpagenum=$this>PageNo+1;
if($list_len==''||ereg("[^09]",$list_len))
$totalpage=ceil($this>TotalResult/$this>PageSize);
if($totalpage<=1&&$this>TotalResult>0)
if($this>TotalResult==0)
$purl=$this>GetCurUrl();
$maininfo="<li><span class="pageinfo">".$uatotal."<strong></strong>".$uapage."<strong>".$this>TotalResult."</strong>".$uarecords."</span></li>rn";
$tnamerule=$this>GetMakeFileRule($this>Fields['id'],"list",$this>Fields['typedir'],$this>Fields['defaultname'],$this>Fields['namerule2']);
$tnamerule=ereg_replace('^(.*)/','',$tnamerule);
//获得上一页和主页的链接
if($this>PageNo!=1)
",$prepagenum,$tnamerule)."'>".$uaprevious."</a></li>rn";
$indexpage="<li><a href='".str_replace("",1,$tnamerule)."'>".$uahe."</a></li>rn";
}
else
//下一页,未页的链接
if($this>PageNo!=$totalpage&&$totalpage>1)
",$nextpagenum,$tnamerule)."'>".$uanext."</a></li>rn";
$endpage="<li><a href='".str_replace("",$totalpage,$tnamerule)."'>".$ualastpage."</a></li>rn";
}
else
//option链接
$optionlist='';
$optionlen=strlen($totalpage);
$optionlen=$optionlen*12+18;
if($optionlen<36)$optionlen=36;
if($optionlen>100)$optionlen=100;
$optionlist="<li><select name='sldd'style='width:px'onchange='location.href=this.options[this.selectedIndex].value;'>rn";
for($mjj=1;$mjj<=$totalpage;$mjj++)
",$mjj,$tnamerule)."'selected>$mjj</option>rn";
}
else
",$mjj,$tnamerule)."'>$mjj</option>rn";
}
}
$optionlist.="</select></li>rn";
//获得数字链接
$listdd="";
$total_list=$list_len*2+1;
if($this>PageNo>=$total_list)
}
else
}
for($j;$j<=$total_list;$j++)
else
",$j,$tnamerule)."'>".$j."</a></li>rn";
}
}
$plist='';
if(eregi('index',$listitem))$plist.=$indexpage;
if(eregi('pre',$listitem))$plist.=$prepage;
if(eregi('pageno',$listitem))$plist.=$listdd;
if(eregi('next',$listitem))$plist.=$nextpage;
if(eregi('end',$listitem))$plist.=$endpage;
if(eregi('option',$listitem))$plist.=$optionlist;
if(eregi('info',$listitem))$plist.=$maininfo;
return$plist;
}
/**
*获取动态的分页列表
*
* access public
* param string$list_len列表宽度
* param string$list_len列表样式
* return string
*/
function GetPageListDM($list_len,$listitem="index,end,pre,next,pageno",$pagelang)
else
global$cfg_rewrite;
$prepage=$nextpage='';
$prepagenum=$this>PageNo1;
$nextpagenum=$this>PageNo+1;
if($list_len==''||ereg("[^09]",$list_len))
$totalpage=ceil($this>TotalResult/$this>PageSize);
if($totalpage<=1&&$this>TotalResult>0)
if($this>TotalResult==0)
$maininfo="<li><span class="pageinfo">".$uatotal."<strong></strong>".$uapage."<strong>".$this>TotalResult."</strong>".$uarecords."</span></li>rn";
$purl=$this>GetCurUrl();
if($cfg_rewrite=='Y')
$geturl="tid=".$this>TypeID."&TotalResult=".$this>TotalResult."&";
$purl.='?'.$geturl;
$optionlist='';
//$hidenform="<input type='hidden'name='tid'value='".$this>TypeID."'>rn";
//$hidenform.="<input type='hidden'name='TotalResult'value='".$this>TotalResult."'>rn";
//获得上一页和下一页的链接
if($this>PageNo!=1)
else
if($this>PageNo!=$totalpage&&$totalpage>1)
else
//获得数字链接
$listdd="";
$total_list=$list_len*2+1;
if($this>PageNo>=$total_list)
}
else
}
for($j;$j<=$total_list;$j++)
else
}
$plist='';
if(eregi('index',$listitem))$plist.=$indexpage;
if(eregi('pre',$listitem))$plist.=$prepage;
if(eregi('pageno',$listitem))$plist.=$listdd;
if(eregi('next',$listitem))$plist.=$nextpage;
if(eregi('end',$listitem))$plist.=$endpage;
if(eregi('option',$listitem))$plist.=$optionlist;
if(eregi('info',$listitem))$plist.=$maininfo;
if($cfg_rewrite=='Y')
return$plist;
}
注意是修改方法的参数,为其添加$pagelang个参数;
在页面中可以调用
pagelang:en为英文,cn为中文,默认语言中文
上一篇:织梦cms列表页/内容页调用当前文档作者的会员头像的方法
下一篇:织梦选择副栏目突破9个限制的方法
dedecms