有時候因為網站功能需求,我們需要為織夢程序的欄目添加英文名稱,這里有一個欄目添加英文名稱的方法,下面站長和大家分享一下。
因為客戶需要做這樣一個需要中英轉換的欄目,在網上找了很多方法,但都不適用,終于被我找到了個能用的,也很簡單,只需修改幾個地方
就完全可以在后臺添加了!
一、方法步驟:
涉及到文件如下(注意備份):
dede/catalog_add.php
dede/catalog_edit.php
dede/templets/catalog_add.htm
dede/templets/catalog_edit.htm
二、新加字段 typenameen
后臺執(zhí)行SQL(前綴默認為dede_ 具體前綴根據自己網站修改):
alter table `dede_arctype` add `typenameen` char(100) NOT NULL default '';
二、打開dede/catalog_add.php 查找:v5.7在第65行。
在65行typename后面增加【typenameen,】,在66行'~typename~'增加【'~typenameen~',】。
二、打開dede/catalog_edit.php 查找:v5.7在第41行。
在typename='$typename',后面增加一行 【typenameen='$typenameen',】。
二、打開dede/templets/catalog_add.htm 查找:v5.7在252行。
在252行換行增加:<tr><td class="bline" height="26" style="padding-left:10px;"><span style="color:red;">英文名稱:</span></td><td class="bline"><input name="typenameen" type="text" id="typenameen" size="30" class="iptxt" /></td></tr>dedecms織夢網站欄目增加英文名稱的方法
二、打開dede/templets/catalog_edit.htm 查找:v5.7在219行。
在219行換行增加:<tr><td class="bline" height="26" style="padding-left:10px;">英文名稱:</td><td class="bline"><input name="typenameen" type="text" id="typenameen" size="30" value="<?php echo $myrow['typenameen']?>" class="iptxt" /> (欄目模板里用{dede:field.typenameen /}調用)</td></tr>dedecms織夢網站欄目增加英文名稱的方法
設置到此就完成了!英文調用的標簽是:{dede:field.typenameen /}
再過來你的后臺看看效果如下:
想要在channel 中使用,例如:
復制代碼
{dede:channel type='son' row='10' typeid='1'}<li><a href="[field:typeurl/]">[field:typename/][field:typenameng/]</a></li>{/dede:channel}
則還要修改一個文件,找到include\taglib\channel.lib.php
第一處:
if($type=='top')
{
$sql = "SELECT id,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `#分隔符@__arctype` WHERE reid=0 And ishidden<>1 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 ishidden<>1 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 ishidden<>1 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 ishidden<>1 order by sortrank asc limit 0, $line ";
$dsql->SetQuery($sql);
$dsql->Execute();
}增加查詢字段就可以在channel中使用了,還有type,channelartlist等標簽頁是在相應的lib類中添加查詢的字段,在此限于篇幅就不錯詳細的敘述了。