muban大师 发表于 2020-8-21 09:29:10

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

效果如下:

       
https://www.adminbuy.cn/uploads/allimg/200821/09292S116-0.gif

       
https://www.adminbuy.cn/uploads/allimg/200821/09292Q547-1.gif

        首先需要找到安装目录下的include/arc.listview.class.php

        上面代码已经做了如下的修改:

        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($totalpageTotalResult>0)
       
                {
       
                        return "[*,".$uatotal." 1 ".$uapage." ".$this->TotalResult." ".$uarecords."\r\n";
       
                }
       
                if($this->TotalResult == 0)
       
                {
       
                        return "[*,".$uatotal." 0 ".$uapage." ".$this->TotalResult." ".$uarecords."\r\n";
       
                  
       
                }
       
                $purl = $this->GetCurUrl();
       
                     $maininfo = "[*,".$uatotal." {$totalpage} ".$uapage." ".$this->TotalResult." ".$uarecords."\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.="[*,\r\n";
       
                $indexpage="[*,\r\n";
       
                }
       
                else
       
                {
       
                $indexpage="[*,".$uahome."\r\n";
       
                }
       
               
       
                //下一页,未页的链接
       
                if($this->PageNo!=$totalpage && $totalpage>1)
       
                {
       
                $nextpage.="[*,\r\n";
       
                $endpage="[*,\r\n";
       
                }
       
                else
       
                {
       
                $endpage="[*,".$ualastpage."\r\n";
       
                }
       
               
       
                //option链接
       
                $optionlist = '';
       
               
       
                $optionlen = strlen($totalpage);
       
                $optionlen = $optionlen*12 + 18;
       
                if($optionlen
       
                if($optionlen > 100) $optionlen = 100;
       
                $optionlist = "[*,\r\n";
       
                for($mjj=1;$mjj
       
                {
       
                if($mjj==$this->PageNo)
       
                {
       
                $optionlist .= "$mjj\r\n";
       
                }
       
                else
       
                {
       
                $optionlist .= "$mjj\r\n";
       
                }
       
                }
       
                $optionlist .= "\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
       
                {
       
                if($j==$this->PageNo)
       
                {
       
                $listdd.= "$j\r\n";
       
                }
       
                else
       
                {
       
                $listdd.="[*,\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($totalpageTotalResult>0)
       
                {
       
                return "[*,".$uatotal." 1 ".$uapage."/".$this->TotalResult."".$uarecords."\r\n";
       
                }
       
                if($this->TotalResult == 0)
       
                {
       
                return "[*,".$uatotal." 0 ".$uapage."/".$this->TotalResult."".$uarecords."\r\n";
       
                }
       
                $maininfo = "[*,".$uatotal." {$totalpage}".$uapage."".$this->TotalResult."".$uarecords."\r\n";
       
               
       
                $purl = $this->GetCurUrl();
       
                if($cfg_rewrite == 'Y')
       
                {
       
                $nowurls = ereg_replace("\-", ".php?", $purl);
       
                $nowurls = explode("?", $nowurls);
       
                $purl = $nowurls;
       
                }
       
               
       
                $geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
       
                $purl .= '?'.$geturl;
       
               
       
                $optionlist = '';
       
                //$hidenform = "[i,TypeID."'>\r\n";
       
                //$hidenform .= "[i,TotalResult."'>\r\n";
       
               
       
                //获得上一页和下一页的链接
       
                if($this->PageNo != 1)
       
                {
       
                $prepage.="[*,\r\n";
       
                $indexpage="[*,\r\n";
       
                }
       
                else
       
                {
       
                $indexpage="[*,".$uahome."\r\n";
       
                }
       
                if($this->PageNo!=$totalpage && $totalpage>1)
       
                {
       
                $nextpage.="[*,\r\n";
       
                $endpage="[*,\r\n";
       
                }
       
                else
       
                {
       
                $endpage="[*,".$ualastpage."\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
       
                {
       
                if($j==$this->PageNo)
       
                {
       
                $listdd.= "$j\r\n";
       
                }
       
                else
       
                {
       
                $listdd.="[*,\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为中文,默认语言中文
                       
       
页: [1]
查看完整版本: 织梦中通过dede:pagelist实现中英文分页效果