zoukankan      html  css  js  c++  java
  • 织梦中通过dede:pagelist实现中英文分页效果

      首先需要找到安装目录下的include/arc.listview.class.php
      上面代码已经做了如下的修改:www.ynwuguji.com
      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>rn";
      }
      if($this->TotalResult==0)
      {
      return"<li><span class="pageinfo">".$uatotal."<strong>0</strong>".$uapage."<strong>".$this->TotalResult."</strong>".$uarecords."</span></li>rn";
      }
      $purl=$this->GetCurUrl();
      $maininfo="<li><span class="pageinfo">".$uatotal."<strong>{$totalpage}</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)
      {
      $prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>".$uaprevious."</a></li>rn";
      $indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>".$uahome."</a></li>rn";
      }
      else
      {
      $indexpage="<li>".$uahome."</li>rn";
      }
      //下一页,未页的链接
      if($this->PageNo!=$totalpage&&$totalpage>1)
      {
      $nextpage.="<li><a href='".str_replace("{page}",$nextpagenum,$tnamerule)."'>".$uanext."</a></li>rn";
      $endpage="<li><a href='".str_replace("{page}",$totalpage,$tnamerule)."'>".$ualastpage."</a></li>rn";
      }
      else
      {
      $endpage="<li>".$ualastpage."</li>rn";
      }
      //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='{$optionlen}px'onchange='location.href=this.options[this.selectedIndex].value;'>rn";
      for($mjj=1;$mjj<=$totalpage;$mjj++)
      {
      if($mjj==$this->PageNo)
      {
      $optionlist.="<option value='".str_replace("{page}",$mjj,$tnamerule)."'selected>$mjj</option>rn";
      }
      else
      {
      $optionlist.="<option value='".str_replace("{page}",$mjj,$tnamerule)."'>$mjj</option>rn";
      }
      }
      $optionlist.="</select></li>rn";
      //获得数字链接
      $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>rn";
      }
      else
      {
      $listdd.="<li><a href='".str_replace("{page}",$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)
      {
      /*****************************************************************************************/
      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>rn";
      }
      if($this->TotalResult==0)
      {
      return"<li><span class="pageinfo">".$uatotal."0".$uapage."/".$this->TotalResult."".$uarecords."</span></li>rn";
      }
      $maininfo="<li><span class="pageinfo">".$uatotal."<strong>{$totalpage}</strong>".$uapage."<strong>".$this->TotalResult."</strong>".$uarecords."</span></li>rn";
      $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."'>rn";
      //$hidenform.="<input type='hidden'name='TotalResult'value='".$this->TotalResult."'>rn";
      //获得上一页和下一页的链接
      if($this->PageNo!=1)
      {
      $prepage.="<li><a href='".$purl."PageNo=$prepagenum'>".$uaprevious."</a></li>rn";
      $indexpage="<li><a href='".$purl."PageNo=1'>".$uahome."</a></li>rn";
      }
      else
      {
      $indexpage="<li><a>".$uahome."</a></li>rn";
      }
      if($this->PageNo!=$totalpage&&$totalpage>1)
      {
      $nextpage.="<li><a href='".$purl."PageNo=$nextpagenum'>".$uanext."</a></li>rn";
      $endpage="<li><a href='".$purl."PageNo=$totalpage'>".$ualastpage."</a></li>rn";
      }
      else
      {
      $endpage="<li><a>".$ualastpage."</a></li>rn";
      }
      //获得数字链接
      $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>rn";
      }
      else
      {
      $listdd.="<li><a href='".$purl."PageNo=$j'>".$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;
      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为中文,默认语言中文

  • 相关阅读:
    此网站的安全证书有问题
    WebBrowser控件打开https站点
    C# 调Win32 API SendMessage简单用法及wMsg常量
    sendmessage和postmessage的区别
    C# 使用Win32 API模拟键盘鼠标操作网页
    WebBrowser控件跨域访问页面内容
    获取webbrowser中元素的屏幕坐标
    一行js代码识别Selenium+Webdriver及其应对方案
    用Selenium自动化测试时,让ChromeDriver中不显示“正受到自动测试软件控制”
    Java Selenium Actions模拟鼠标拖动dragAndDrop总结
  • 原文地址:https://www.cnblogs.com/zqw111/p/13544784.html
Copyright © 2011-2022 走看看