宁波做网站公司小编亲测的织梦dedecms中英文网站模版当前位置、列表分页及内容页上下篇的修改方法大全

宁波做网站公司小编亲自测试,保证完整的织梦dedecms中英文双语网站当前位置、列表分页及内容页上下篇的中英文判断调用修改方法。
很多朋友跟我一样,都需要把dedecms中文版或者英文版改成中英文双语网站,这样就会涉及到当前位置、列表分页以及内容页下面的上一篇 下一篇的中文调整,但是中间涉及到语言代码判断等也很麻烦,而且宁波做网站公司小编在网上搜了好多所谓的解决方法都是有问题,甚至根本没用的,大浪淘沙经过几个小时的测试调整终于有完整正确的版本,所以分享给大家。
 
一、网站当前位置(面包屑导航主页替换成英文的方法:
 只要将英文站模版的 {dede:field name='position' }换成 {dede:field name='position'  function='str_replace("主页","Home",@me)'/}  
 
二、网站列表页分页代码:
效果如下: 首先需要找到安装目录下的include/arc.listview.class.php 上面代码已经做了如下的修改: 1、添加变量$pagelang 2、从页面中读取数据,并去除空格 3、找到里面的2个同名方法 GetPageListDM() --动态和静态的 将里面的方法进行如下替换 /** * 获...

效果如下:

首先需要找到安装目录下的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 "<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为中文,默认语言中文

三、内容页上一篇、下一篇英文修改方法:

文章内容页上一篇下一篇增加英文版
1.模板文件中调用的方法

li>{dede:prenext get='pre'/}</li>
<li>{dede:prenext get='next'/}</li>
更改为
<li>{dede:prenext get='pre' sitelang='en'/}</li>
<li>{dede:prenext get='next' sitelang='en'/}</li>

2.打开 include\arc.archives.class.php 文件,找到

$this->dtp->Assign($i,$this->GetPreNext($ctag->GetAtt('get')));  
更改为  
$this->dtp->Assign($i,$this->GetPreNext($ctag->GetAtt('get'), $ctag->GetAtt('sitelang')));


3.然后再找函数 GetPreNext 找到
function GetPreNext($gtype='')  
更改为  
function GetPreNext($gtype='', $site_lang)


4.判断代码,写在
 function GetPreNext($gtype='', $site_lang)
 
    {到 $rs = '';中间
//添加在这里
$str_pre = '';  
$str_next = '';  
$str_pre_words = '';  
$str_next_words = ''; if($site_lang == 'cn')  
{  
$str_pre = '上一篇';  
$str_next = '下一篇';  
$str_pre_words = '上一篇:没有了';  
$str_next_words = '下一篇:没有了';  
}elseif($site_lang == 'en')  
{  
$str_pre = 'Preview';  
$str_next = 'Next';  
$str_pre_words = 'Preview:no';  
$str_next_words = 'Next:no';  
}

5.然后将 if(is_array($preRow)) 里面的上一篇下一篇 上一篇:没有了,下一篇:没有换成变量,找到

$this->PreNext['pre'] = "上一篇:<a href='$mlink'>{$preRow['title']}</a> ";  
改为  
$this->PreNext['pre'] = $str_pre .":<a href='$mlink'>{$preRow['title']}</a> ";  
找到  
$this->PreNext['pre'] = "上一篇:没有了 ";  
改为  
$this->PreNext['pre'] = $str_pre_words;  
找到  
$this->PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> ";  
改为  
$this->PreNext['next'] = $str_next . ":<a href='$mlink'>{$nextRow['title']}</a> ";  
找到  
$this->PreNext['next'] = "下一篇:没有了 ";  
改为  
$this->PreNext['next'] = $str_next_words;

其他功能可以自行扩展

以上是宁波做网站公司小编为大家分享的完整的织梦dedecms中英文双语网站当前位置、列表分页及内容页上下篇的中英文判断调用修改方法大全,相信对您建设dedecms中英文网站一定有非常的价值。

 



版权所有,未经允许禁止转载,深山QQ/微信: 23106810



评论