織夢DedeCMS怎么實現中英文導航功能

織夢DedeCMS怎么實現中英文導航功能

織夢dedecms怎么實現中英文導航功能?

今天在群里看到有位朋友需要實現中英文欄目名字的功能(如下圖),下面我們就來看看強大的織夢cms怎么實現吧!

推薦學習:織夢cms

織夢DedeCMS怎么實現中英文導航功能

首先給數據庫中的dede_arctype表中增加一個字段,前面的表前綴是你的站點的名,并不一定是dede_

織夢DedeCMS怎么實現中英文導航功能

添加后的效果如上圖,具體的添加辦法再次就不詳述了。其中typenameng就是我增加的字段,名稱有點長,當然你也可以改為自己樂意的名稱,這個不傷大雅。

再找到dedetemplets目錄下的catalog_edit.htm

?

找到

代碼如下:

<tr> <td><font>欄目名稱:</font></td> <td> <input>"?class="iptxt"?/&gt;</td> </tr>

下面添加

?

代碼如下:

<tr> <td>欄目英文名稱:</td> <td> <input>"?class="iptxt"?/&gt;</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'} 
  • [field:typename/][field:typenameng/]
  • {/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'?&amp;&amp;?$reid!=0?&amp;&amp;?$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-&gt;SetQuery($sql); $dsql-&gt;Execute(); }

    增加查詢字段就可以在channel中使用了,還有type,channelartlist等標簽頁是在相應的lib類中添加查詢的字段,在此限于篇幅就不錯詳細的敘述了。

    ?

    //處理同級欄目中,當前欄目的樣式。currentstyle中的調用,includetaglibchannel.lib.php 140行 $linkOkstr = str_replace(“~typename~”,$row[‘typename’],$linkOkstr);下面添加

    $linkOkstr = str_replace(“~typenameeng~”,$row[‘typenameeng’],$linkOkstr);即可。

    ? 版權聲明
    THE END
    喜歡就支持一下吧
    點贊8 分享