這篇文章主要介紹了織夢(mèng)DedeCMS在實(shí)現(xiàn)中英文導(dǎo)航功能方法步驟,本文給出詳細(xì)的操作步驟和相關(guān)實(shí)現(xiàn)代碼,需要的朋友可以參考下。
今天在群里看到有位朋友需要實(shí)現(xiàn)中英文欄目名字的功能(如下圖),下面我們就來看看強(qiáng)大的織夢(mèng)CMS怎么實(shí)現(xiàn)吧!
首先給數(shù)據(jù)庫(kù)中的dede_arctype表中增加一個(gè)字段,前面的表前綴是你的站點(diǎn)的名,并不一定是dede_
添加后的效果如上圖,具體的添加辦法再次就不詳述了。其中typenameng就是我增加的字段,名稱有點(diǎn)長(zhǎng),當(dāng)然你也可以改為自己樂意的名稱,這個(gè)不傷大雅。
再找到dede\templets目錄下的catalog_edit.htm
找到
<tr>
<tdclass='bline'height="26"style="padding-left:10px;"><fontcolor='red'>欄目名稱:</font></td>
<tdclass='bline'><inputname="typename"type="text"id="typename"size="30"value="<?phpecho$myrow['typename']?>"class="iptxt"/></td>
</tr>
下面添加
<tr>
<tdclass='bline'height="26"style="padding-left:10px;">欄目英文名稱:</td>
<tdclass='bline'><inputname="typenameng"type="text"id="typenameng"size="30"value="<?phpecho$myrow['typenameng']?>"class="iptxt"/></td>
</tr>
最后我們?cè)诖蜷_dede\catalog_edit.php
找到
$upquery="UPDATE`#分隔符@__arctype`SET
issend='$issend',
sortrank='$sortrank',
typename='$typename',
typenameng='$typenameng',
typedir='$typedir',
isdefault='$isdefault',
defaultname='$defaultname',
增加紅色的部分,分隔符3個(gè)字自行去掉,至此就添加完成了。
調(diào)用方式:{dede:fieldname='typenameng'/}
想要在channel中使用,例如
{dede:channeltype='son'row='10'typeid='1'}
<li><ahref='[field:typeurl/]'>[field:typename/][field:typenameng/]</a></li>
{/dede:channel}
則還要修改一個(gè)文件,找到include\taglib\channel.lib.php
第一處
if($type=='top')
{
$sql="SELECTid,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From`#分隔符@__arctype`WHEREreid=0Andishidden<>1orderbysortrankasclimit0,$line";
}
elseif($type=='son')
{
if($typeid==0)return'';
$sql="SELECTid,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From`#分隔符@__arctype`WHEREreid='$typeid'Andishidden<>1orderbysortrankasclimit0,$line";
}
elseif($type=='self')
{
if($reid==0)return'';
$sql="SELECTid,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM`#分隔符@__arctype`WHEREreid='$reid'Andishidden<>1orderbysortrankasclimit0,$line";
}
第二處:
//如果用子欄目模式,當(dāng)沒有子欄目時(shí)顯示同級(jí)欄目
if($type=='son'&&$reid!=0&&$totalRow==0)
{
$sql="SELECTid,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM`#分隔符@__arctype`WHEREreid='$reid'Andishidden<>1orderbysortrankasclimit0,$line";
$dsql->SetQuery($sql);
$dsql->Execute();
}
增加查詢字段就可以在channel中使用了,還有type,channelartlist等標(biāo)簽頁(yè)是在相應(yīng)的lib類中添加查詢的字段,在此限于篇幅就不錯(cuò)詳細(xì)的敘述了。
//處理同級(jí)欄目中,當(dāng)前欄目的樣式。currentstyle中的調(diào)用,include\taglib\channel.lib.php140行$linkOkstr=str_replace("~typename~",$row['typename'],$linkOkstr);下面添加
$linkOkstr=str_replace("~typenameeng~",$row['typenameeng'],$linkOkstr);即可。