网站每个栏目都有不同的栏目英文名称,为了方便客户可以直接在后台栏目处添加和更换这个英文名称,我们需要给dedecms二次开发,增加栏目英文名称输入框。
织梦栏目添加英文名称
1.先给数据库中的dede_arctype表增加一个字段
后台 - 系统 - 系统设置 - SQL命令行工具
ALTER TABLE `dede_arctype` ADD `entypename` CHAR( 30 ) NOT NULL DEFAULT '';2.打开 \dede\templets\catalog_add.htm 搜索
name="typename"
在它的</tr>下面加入
<tr> <td height="26" style="padding-left:10px;"><font color='red'>英文名称:</font></td> <td><input name="entypename" type="text" id="entypename" size="30" /></td> </tr>3.打开 \dede\templets\catalog_edit.htm 搜索
name="typename"
在它的</tr>下面加入
<tr> <td height="26" style="padding-left:10px;"><font color='red'>英文名称:</font></td> <td><input name="entypename" type="text" id="entypename" size="30" value="<?php echo $myrow['entypename']?>" /></td> </tr>4.打开 \dede\catalog_add.php 搜索
$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename改成
$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,entypename继续搜索
VALUES('$reid','$topid','$sortrank','$typename'改成
VALUES('$reid','$topid','$sortrank','$typename','$entypename'5.打开 \dede\catalog_edit.php 搜索
`smalltypes`='$smalltypes'改成
`smalltypes`='$smalltypes',`entypename`='$entypename'6.打开 \include\taglib\channelartlist.lib.php 搜索
typedir
改成
typedir,entypename
7.打开 \include\taglib\channel.lib.php 搜索
typedir
改成
typedir,entypename
注意:这个文件有4处都需要改
8.打开 \include\taglib\type.lib.php 搜索
typedir
改成
typedir,entypename
9.\include\arc.listview.class.php 搜索
环境变量
在它下面添加
$this->Fields['entypename'] = $this->TypeLink->TypeInfos['entypename'];
10.\include\arc.archives.class.php 搜索
$this->Fields['typeid'] = $arr['typeid'];
在它的下面加入
$this->Fields['typeid'] = $this->TypeLink->TypeInfos['entypename'];
后台栏目效果
前台模板中调用标签
{dede:channelartlist}{dede:field.entypename/}{/dede:channelartlist} {dede:channel}[field:entypename/]{/dede:channel} {dede:type}[field:entypename/]{/dede:type}栏目列表页/内容页 单独调用
{dede:field.entypename/}