加入收藏 | 设为首页 | 会员中心 | 我要投稿 葫芦岛站长网 (https://www.0429zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

织梦中通过dede:pagelist实现中英文分页成效

发布时间:2022-05-20 14:11:13 所属栏目:经验 来源:互联网
导读:需要找到安装目录下的include/arc.listview.class.php (一)直接下载arc.listview.class.php (网址:http://download.csdn.net/detail/guoquanyou/3666794),并且替换掉include/arc.listview.class.php皆可 上面代码已经做了如下的修改: 1、添加变量$pagel
          需要找到安装目录下的include/arc.listview.class.php
 
        (一)直接下载arc.listview.class.php   (网址:http://download.csdn.net/detail/guoquanyou/3666794),并且替换掉include/arc.listview.class.php皆可
 
         上面代码已经做了如下的修改:
 
1、添加变量$pagelang
 
2、从页面中读取数据,并去除空格
 
3、找到里面的2个同名方法 GetPageListDM()--动态和静态的
 
将里面的方法进行如下替换
 
[php] view plaincopy
   /**
    *  获取静态的分页列表
    *
    * @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:pagelist pagelang='en' listsize='5'/}
 
pagelang:en为英文,cn为中文,默认语言中文
 
其他功能可以自行扩展。

(编辑:葫芦岛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!