織夢dedecms怎么實現中英文導航功能?
今天在群里看到有位朋友需要實現中英文欄目名字的功能(如下圖),下面我們就來看看強大的織夢cms怎么實現吧!
推薦學習:織夢cms
首先給數據庫中的dede_arctype表中增加一個字段,前面的表前綴是你的站點的名,并不一定是dede_
添加后的效果如上圖,具體的添加辦法再次就不詳述了。其中typenameng就是我增加的字段,名稱有點長,當然你也可以改為自己樂意的名稱,這個不傷大雅。
再找到dedetemplets目錄下的catalog_edit.htm
?
找到
代碼如下:
<tr> <td><font>欄目名稱:</font></td> <td> <input>"?class="iptxt"?/></td> </tr>
下面添加
?
代碼如下:
<tr> <td>欄目英文名稱:</td> <td> <input>"?class="iptxt"?/></td> </tr>
最后我們在打開 dedecatalog_edit.php
?
?
找到
代碼如下:
$upquery?=?"UPDATE?`#分隔符@__arctype`?SET issend='$issend', sortrank='$sortrank', typename='$typename', typenameng='$typenameng', typedir='$typedir', isdefault='$isdefault', defaultname='$defaultname',
增加紅色的部分,分隔符3個字自行去掉,至此就添加完成了。
?
調用方式 :{dede:field name=’typenameng’/}
?
?
想要在channel 中使用,例如
代碼如下:
{dede:channel?type='son'?row='10'?typeid='1'}
{/dede:channel}
則還要修改一個文件,找到includetaglibchannel.lib.php
?
第一處:
代碼如下:
if($type=='top') { $sql?=?"SELECT?id,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From?`#分隔符@__arctype`?WHERE?reid=0?And?ishidden1?order?by?sortrank?asc?limit?0,?$line?"; } else?if($type=='son') { if($typeid==0)?return?''; $sql?=?"SELECT?id,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From?`#分隔符@__arctype`?WHERE?reid='$typeid'?And?ishidden1?order?by?sortrank?asc?limit?0,?$line?"; } else?if($type=='self') { if($reid==0)?return?''; $sql?=?"SELECT?id,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM?`#分隔符@__arctype`?WHERE?reid='$reid'?And?ishidden1?order?by?sortrank?asc?limit?0,?$line?"; }
第二處:
?
代碼如下:
//如果用子欄目模式,當沒有子欄目時顯示同級欄目 if($type=='son'?&&?$reid!=0?&&?$totalRow==0) { $sql?=?"SELECT?id,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM?`#分隔符@__arctype`?WHERE?reid='$reid'?And?ishidden1?order?by?sortrank?asc?limit?0,?$line?"; $dsql->SetQuery($sql); $dsql->Execute(); }
增加查詢字段就可以在channel中使用了,還有type,channelartlist等標簽頁是在相應的lib類中添加查詢的字段,在此限于篇幅就不錯詳細的敘述了。
?
//處理同級欄目中,當前欄目的樣式。currentstyle中的調用,includetaglibchannel.lib.php 140行 $linkOkstr = str_replace(“~typename~”,$row[‘typename’],$linkOkstr);下面添加
$linkOkstr = str_replace(“~typenameeng~”,$row[‘typenameeng’],$linkOkstr);即可。