找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 106|回复: 0

[cms教程] 织梦中通过dede:pagelist实现中英文分页效果

[复制链接]

该用户从未签到

发表于 2020-8-21 09:29:10 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
效果如下:

       

                               
登录/注册后可看大图


       

                               
登录/注册后可看大图


        首先需要找到安装目录下的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.="[*,[url=".str_replace("{page}",$prepagenum,$tnamerule).",".$uaprevious."[/url]\r\n";
       
                $indexpage="[*,[url=".str_replace("{page}",1,$tnamerule).",".$uahome."[/url]\r\n";
       
                }
       
                else
       
                {
       
                $indexpage="[*,".$uahome."\r\n";
       
                }
       
                 
       
                //下一页,未页的链接
       
                if($this->PageNo!=$totalpage && $totalpage>1)
       
                {
       
                $nextpage.="[*,[url=".str_replace("{page}",$nextpagenum,$tnamerule).",".$uanext."[/url]\r\n";
       
                $endpage="[*,[url=".str_replace("{page}",$totalpage,$tnamerule).",".$ualastpage."[/url]\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.="[*,[url=".str_replace("{page}",$j,$tnamerule).",".$j."[/url]\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[0];
       
                }
       
                 
       
                $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.="[*,[url=".$purl."PageNo=$prepagenum,".$uaprevious."[/url]\r\n";
       
                $indexpage="[*,[url=".$purl."PageNo=1,".$uahome."[/url]\r\n";
       
                }
       
                else
       
                {
       
                $indexpage="[*,".$uahome."\r\n";
       
                }
       
                if($this->PageNo!=$totalpage && $totalpage>1)
       
                {
       
                $nextpage.="[*,[url=".$purl."PageNo=$nextpagenum,".$uanext."[/url]\r\n";
       
                $endpage="[*,[url=".$purl."PageNo=$totalpage,".$ualastpage."[/url]\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.="[*,[url=".$purl."PageNo=$j,".$j."[/url]\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为中文,默认语言中文
                         
       
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-8 02:26

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表