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

  效果如下:

  首先需要找到安装目录下的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($totalpage<=1 && $this->TotalResult>0)

  {

  return “

  • “.$uatotal.” 1 “.$uapage.” “.$this->TotalResult.” “.$uarecords.”
  •   ”;

      }

      if($this->TotalResult == 0)

      {

      return “

  • “.$uatotal.” 0 “.$uapage.” “.$this->TotalResult.” “.$uarecords.”
  •   ”;

      }

      $purl = $this->GetCurUrl();

      $maininfo = “

  • “.$uatotal.” {$totalpage} “.$uapage.” “.$this->TotalResult.” “.$uarecords.”
  •   ”;

      $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.=”

  • “.$uaprevious.”
  •   ”;

      $indexpage=”

  • “.$uahome.”
  •   ”;

      }

      else

      {

      $indexpage=”

  • “.$uahome.”
  •   ”;

      }

      //下一页,未页的链接

      if($this->PageNo!=$totalpage && $totalpage>1)

      {

      $nextpage.=”

  • “.$uanext.”
  •   ”;

      $endpage=”

  • “.$ualastpage.”
  •   ”;

      }

      else

      {

      $endpage=”

  • “.$ualastpage.”
  •   ”;

      }

      //option链接

      $optionlist = ”;

      $optionlen = strlen($totalpage);

      $optionlen = $optionlen*12 + 18;

      if($optionlen < 36) $optionlen = 36;   if($optionlen > 100) $optionlen = 100;

      $optionlist = “

  •   ”;

      //获得数字链接

      $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.= “

  • $j
  •   ”;

      }

      else

      {

      $listdd.=”

  • “.$j.”
  •   ”;

      }

      }

      $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 “

  • “.$uatotal.” 1 “.$uapage.”/”.$this->TotalResult.””.$uarecords.”
  •   ”;

      }

      if($this->TotalResult == 0)

      {

      return “

  • “.$uatotal.” 0 “.$uapage.”/”.$this->TotalResult.””.$uarecords.”
  •   ”;

      }

      $maininfo = “

  • “.$uatotal.” {$totalpage}“.$uapage.”“.$this->TotalResult.”“.$uarecords.”
  •   ”;

      $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 = ““.$uaprevious.”

      ”;

      $indexpage=”

  • “.$uahome.”
  •   ”;

      }

      else

      {

      $indexpage=”

  • “.$uahome.”
  •   ”;

      }

      if($this->PageNo!=$totalpage && $totalpage>1)

      {

      $nextpage.=”

  • “.$uanext.”
  •   ”;

      $endpage=”

  • “.$ualastpage.”
  •   ”;

      }

      else

      {

      $endpage=”

  • “.$ualastpage.”
  •   ”;

      }

      //获得数字链接

      $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.= “

  • $j
  •   ”;

      }

      else

      {

      $listdd.=”

  • “.$j.”
  •   ”;

      }

      }

      $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为中文,默认语言中文

    ☉免责声明:本站所有模板均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。
    ☉本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
    pbootcms模板网 » 织梦中通过dede:pagelist实现中英文分页效果

    Pbootcms模板网 提供优质的模板集合

    立即查看 了解详情