DedeCMS织梦栏目增加英文名称、缩略图及调用
在做外贸SEO优化的时候,经常会用到中文站和英文站,特别需要运用到中英文移动版的频道缩略图。不需要两个后台就能一步到位管理中英文网站。这里分享一下织梦后台增加英文栏目名称和频道缩略图及调用的方法。
1.数据库新增加字段(typenameen,typelitpic)
这里说的字段不是常说的频道模型里面的自定义字段,而是数据库的字段。除非你的空间服务器支持数据库编辑,dede是不支持直接编辑的,但是可以用SQL命令。方法如下:
后台>系统>SQL命令行工具,输入
alter table `dede_arctype` add `typenameen` char(100) NOT NULL default ''; alter table `dede_arctype` add `typelitpic` char(255) NOT NULL default ''; |
2.修改后台文件
如果你改了根目录的dede文件夹,在对应的文件夹下面找到:
- /dede/catalog_add.php
- /dede/catalog_edit.php
- /dede/templets/catalog_add.htm
- /dede/templets/catalog_edit.htm
如果对dede的系统后台模板不熟悉的可以用Dreamweaver查看哪个部分需要修改的。
修改/dede/catalog_add.php
查找$queryTemplate = "insert into `cn_arctype`,大约在65行,把
typename |
替换为,替换时注意标点
typename,typenameen,typelitpic |
在66行
'~typename~' |
替换为,替换时注意标点
'~typename~','~typenameen~','~typelitpic~' |
修改/dede/catalog_edit.php
查找$upquery = "Update `cn_arctype` set,大约在41行
typename='$typename' |
替换为,替换时注意标点
typename='$typename', typenameen='$typenameen', typelitpic='$typelitpic' |
修改/dede/templets/catalog_add.htm
查找下面代码,大约在在252行
<td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td> |
下面增加
<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" /></td> </tr> <tr> <td class='bline' height="26" style="padding-left:10px;">栏目图标:</td> <td class='bline'> <input name="typelitpic" type="text" id="typelitpic" size="30" value="<?php echo $myrow['typelitpic']?>" class="iptxt" /> <input type="button" name="Submit2" value="站内选择" style="margin-left:8px;" onClick="SelectImage('form1.typelitpic','');" class='np coolbg'/> </td> </tr> |
修改/dede/templets/catalog_edit.htm
查找下面代码,大约在219行
<td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td> |
下面增加
<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" /></td> </tr> <tr> <td class='bline' height="26" style="padding-left:10px;">栏目图标:</td> <td class='bline'> <input name="typelitpic" type="text" id="typelitpic" size="30" value="<?php echo $myrow['typelitpic']?>" class="iptxt" /> <input type="button" name="Submit2" value="站内选择" style="margin-left:8px;" onClick="SelectImage('form1.typelitpic','');" class='np coolbg'/> </td> </tr> |
增加站内选择图片的JS代码
在catalog_add.htm和catalog_edit.htm的</head>前增加“站内选择”的JS代码
<script language='javascript' src="js/main.js"></script> |
3.调用英文名称和栏目图标
不建议使用sql调用,不够灵活,先看调用代码。
{dede:channel} 英文名称:[fiele:typenameen/] 栏目图标:<img src="[field:typelitpic/]" alt="[field:typename/]"> {/dede:channel} |
这样写是不能直接调用的,修改/include/taglib/channel.lib.php
查找如下代码,
if($type=='top') |
找到
typename |
大概在78,86,92行,替换为
typenameen,typelitpic |
增加英文名称和栏目图片及调用总结
这个方法可以实现一个模板里面同时调用中英文标题及移动端的栏目图片,部分内容来自网络,有些中英文标点符号错误,本帖经本人亲测无问题,关于自定义的字段调用问题还扩展了另外一个帖子《dede应用样式curentstyle支持调用栏目英文名,缩略图,递增标签》