您现在的位置是:首页 > 教程 > dedecms教程dedecms教程
织梦通过dede:pagelist实现中英文分页效果代码实例
涂翰毅2023-09-19 16:52:55dedecms教程已有人查阅
导读效果如下:首先需要找到安装目录下的include/arc.listview.class.php上面代码已经做了如下的修改:1、添加变量$pagelang2
首先需要找到安装目录下的include/arc.listview.class.php
上面代码已经做了如下的修改:
1、添加变量$pagelang
2、从页面中读取数据,并去除空格
3、找到里面的2个同名方法GetPageListDM()--动态和静态的
将里面的方法进行如下替换
上面代码已经做了如下的修改:
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)
{
/*****************************************************************************************/
if($pagelang=='en'){
$uahome=" Home ";
$uaprevious=" Previous ";
$uanext=" Next ";
$ualastpage=" Last Page ";
$uapage=" Page ";
$uatotal=" Total ";
$uarecords=" Records. ";
}else{
$uahome="首页";
$uaprevious="上一页";
$uanext="下一页";
$ualastpage="末页";
$uapage="页";
$uatotal="共";
$uarecords="条记录";
}
$prepage = $nextpage = '';
$prepagenum = $this->PageNo-1;
$nextpagenum = $this->PageNo+1;
if($list_len=='' || ereg("[^0-9]",$list_len))
{
$list_len=3;
}
$totalpage = ceil($this->TotalResult/$this->PageSize);
if($totalpage<=1 && $this->TotalResult>0)
{
return "<li><span class=\"pageinfo\">".$uatotal." <strong>1</strong> ".$uapage." <strong>".$this->TotalResult."</strong> ".$uarecords."</span></li>\r\n";
}
if($this->TotalResult == 0)
{
return "<li><span class=\"pageinfo\">".$uatotal." <strong>0</strong> ".$uapage." <strong>".$this->TotalResult."</strong> ".$uarecords."</span></li>\r\n";
}
$purl = $this->GetCurUrl();
$maininfo = "<li><span class=\"pageinfo\">".$uatotal." <strong>{$totalpage}</strong> ".$uapage." <strong>".$this->TotalResult."</strong> ".$uarecords."</span></li>\r\n";
$tnamerule = $this->GetMakeFileRule($this->Fields['id'],"list",$this->Fields['typedir'],$this->Fields['defaultname'],$this->Fields['namerule2']);
$tnamerule = ereg_replace('^(.*)/','',$tnamerule);
//获得上一页和主页的链接
if($this->PageNo != 1)
{
$prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>".$uaprevious."</a></li>\r\n";
$indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>".$uahome."</a></li>\r\n";
}
else
{
$indexpage="<li>".$uahome."</li>\r\n";
}
//下一页,未页的链接
if($this->PageNo!=$totalpage && $totalpage>1)
{
$nextpage.="<li><a href='".str_replace("{page}",$nextpagenum,$tnamerule)."'>".$uanext."</a></li>\r\n";
$endpage="<li><a href='".str_replace("{page}",$totalpage,$tnamerule)."'>".$ualastpage."</a></li>\r\n";
}
else
{
$endpage="<li>".$ualastpage."</li>\r\n";
}
//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:{$optionlen}px' onchange='location.href=this.options[this.selectedIndex].value;'>\r\n";
for($mjj=1;$mjj<=$totalpage;$mjj++)
{
if($mjj==$this->PageNo)
{
$optionlist .= "<option value='".str_replace("{page}",$mjj,$tnamerule)."' selected>$mjj</option>\r\n";
}
else
{
$optionlist .= "<option value='".str_replace("{page}",$mjj,$tnamerule)."'>$mjj</option>\r\n";
}
}
$optionlist .= "</select></li>\r\n";
//获得数字链接
$listdd="";
$total_list = $list_len * 2 + 1;
if($this->PageNo >= $total_list)
{
$j = $this->PageNo-$list_len;
$total_list = $this->PageNo+$list_len;
if($total_list>$totalpage)
{
$total_list=$totalpage;
}
}
else
{
$j=1;
if($total_list>$totalpage)
{
$total_list=$totalpage;
}
}
for($j;$j<=$total_list;$j++)
{
if($j==$this->PageNo)
{
$listdd.= "<li class=\"thisclass\">$j</li>\r\n";
}
else
{
$listdd.="<li><a href='".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li>\r\n";
}
}
$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)
{
/*****************************************************************************************/
if($pagelang=='en'){
$uahome=" Home ";
$uaprevious=" Previous ";
$uanext=" Next ";
$ualastpage=" Last Page ";
$uapage=" Page ";
$uatotal=" Total ";
$uarecords=" Records. ";
}else{
$uahome="首页";
$uaprevious="上一页";
$uanext="下一页";
$ualastpage="末页";
$uapage="页";
$uatotal="共";
$uarecords="条记录";
}
global $cfg_rewrite;
$prepage = $nextpage = '';
$prepagenum = $this->PageNo-1;
$nextpagenum = $this->PageNo+1;
if($list_len=='' || ereg("[^0-9]",$list_len))
{
$list_len=3;
}
$totalpage = ceil($this->TotalResult/$this->PageSize);
if($totalpage<=1 && $this->TotalResult>0)
{
return "<li><span class=\"pageinfo\">".$uatotal." 1 ".$uapage."/".$this->TotalResult."".$uarecords."</span></li>\r\n";
}
if($this->TotalResult == 0)
{
return "<li><span class=\"pageinfo\">".$uatotal." 0 ".$uapage."/".$this->TotalResult."".$uarecords."</span></li>\r\n";
}
$maininfo = "<li><span class=\"pageinfo\">".$uatotal." <strong>{$totalpage}</strong>".$uapage."<strong>".$this->TotalResult."</strong>".$uarecords."</span></li>\r\n";
$purl = $this->GetCurUrl();
if($cfg_rewrite == 'Y')
{
$nowurls = ereg_replace("\-", ".php?", $purl);
$nowurls = explode("?", $nowurls);
$purl = $nowurls[0];
}
$geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
$purl .= '?'.$geturl;
$optionlist = '';
//$hidenform = "<input type='hidden' name='tid' value='".$this->TypeID."'>\r\n";
//$hidenform .= "<input type='hidden' name='TotalResult' value='".$this->TotalResult."'>\r\n";
//获得上一页和下一页的链接
if($this->PageNo != 1)
{
$prepage.="<li><a href='".$purl."PageNo=$prepagenum'>".$uaprevious."</a></li>\r\n";
$indexpage="<li><a href='".$purl."PageNo=1'>".$uahome."</a></li>\r\n";
}
else
{
$indexpage="<li><a>".$uahome."</a></li>\r\n";
}
if($this->PageNo!=$totalpage && $totalpage>1)
{
$nextpage.="<li><a href='".$purl."PageNo=$nextpagenum'>".$uanext."</a></li>\r\n";
$endpage="<li><a href='".$purl."PageNo=$totalpage'>".$ualastpage."</a></li>\r\n";
}
else
{
$endpage="<li><a>".$ualastpage."</a></li>\r\n";
}
//获得数字链接
$listdd="";
$total_list = $list_len * 2 + 1;
if($this->PageNo >= $total_list)
{
$j = $this->PageNo-$list_len;
$total_list = $this->PageNo+$list_len;
if($total_list>$totalpage)
{
$total_list=$totalpage;
}
}
else
{
$j=1;
if($total_list>$totalpage)
{
$total_list=$totalpage;
}
}
for($j;$j<=$total_list;$j++)
{
if($j==$this->PageNo)
{
$listdd.= "<li class=\"thisclass\"><a>$j</a></li>\r\n";
}
else
{
$listdd.="<li><a href='".$purl."PageNo=$j'>".$j."</a></li>\r\n";
}
}
$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')
{
$plist = str_replace('.php?tid=', '-', $plist);
$plist = str_replace('&TotalResult=', '-', $plist);
$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);
}
return $plist;
} 注意是修改方法的参数,为其添加$pagelang个参数;
在页面中可以调用
{dede:pagelist listsize='5'/} {dede:pagelistpagelang='en'listsize='5'/} pagelang:en为英文,cn为中文,默认语言中文
其他功能可以自行扩展
本文标签:
很赞哦! ()
相关文章
随机图文
-
dedecms织梦给栏目设置seo标题,关键字,描述的方法
内容页调用SEO标题:在之间加进以下代码:{dede:field name=typeid runphp=yes} -
dedecms系统参数设置手册附件设置教程
本篇主要是织梦模板 V5.3系统参数设置手册之附件设置相关内容。缩略图默认宽度(cfg_ddimg_width):系统上传缩略图默认宽度缩略图默认高度 -
dede织梦调用所有分类及分类下内容标签的方法
看到一个不错的单本小说站的界面,准备用DEDECMS仿出来,首页的效果是展示小说的所有章节及章节下的所有的标题内容。这就需要用到调用分类及分类下的内容。 -
织梦数据库信息文件位置和修改方法
在用织梦dedecms制作网站时,有时我们需要查数据库的相关信息,例如查看数据库名、密码等,那么怎样查看织梦数据库信息?难道必须到phpmyadmin中查看吗?
留言与评论 (共有 条评论) |