dedecms织梦网站栏目增加英文名称及调用方法

一、涉及到文件如下(注意备份):
dede/catalog_add.php 
dede/catalog_edit.php
dede/templets/catalog_add.htm
dede/templets/catalog_edit.htm
 
二、新加字段 typenameen
后台执行SQL(前缀默认为dede_ 具体前缀根据自己网站修改):
  1. alter table `dede_arctype` add `typenameen` char(100) NOT NULL default '';

运行SQL命令行

 

三、打开dede/catalog_add.php 查找:v5.7在第65行。
在65行typename后面增加【typenameen,】,在66行'~typename~'增加【'~typenameen~',】。
添加typenameen属性
 
四、打开dede/catalog_edit.php 查找:v5.7在第41行。
在typename='$typename',后面增加一行 【typenameen='$typenameen',】。
在修改文件中添加typenameen字段
 
五、打开dede/templets/catalog_add.htm 查找:v5.7在252行。
在252行换行增加:
  1.           <tr>
  2.             <td class='bline' height="26" style="padding-left:10px;"><font color='red'>英文名称:</font></td>
  3.             <td class='bline'><input name="typenameen" type="text" id="typenameen" size="30" class="iptxt" /></td>
  4.           </tr>

dede管理员后台添加en文本框

 

六:想要在channel 中使用,例如:
  1. {dede:channel type='son' row='10' typeid='1'}
  2.                     <li><a href='[field:typeurl/]'>[field:typename/][field:typenameen/]</a></li>
  3.  {/dede:channel}
则还要修改一个文件,找到include\taglib\channel.lib.php
 
第一处:
  1. if($type=='top')
  2.     {
  3.         $sql = "SELECT id,typename,typenameen,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
  4.           From `#分隔符@__arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
  5.     }
  6.     else if($type=='son')
  7.     {
  8.         if($typeid==0) return '';
  9.         $sql = "SELECT id,typename,typenameen,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
  10.           From `#分隔符@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
  11.     }
  12.     else if($type=='self')
  13.     {
  14.         if($reid==0) return '';
  15.         $sql = "SELECT id,typename,typenameen,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
  16.             FROM `#分隔符@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
  17.     }
 
第二处:
//如果用子栏目模式,当没有子栏目时显示同级栏目
  1.     if($type=='son' && $reid!=0 && $totalRow==0)
  2.     {
  3.         $sql = "SELECT id,typename,typenameen,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
  4.             FROM `#分隔符@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
  5.         $dsql->SetQuery($sql);
  6.       $dsql->Execute();
  7.     }
增加查询字段就可以在channel中使用了,还有type,channelartlist等标签页是在相应的lib类中添加查询的字段,在此限于篇幅就不错详细的叙述了。