加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

DedeCMS在栏目加一个字段实现中英文导航功能

发布时间:2020-12-14 05:06:44 所属栏目:Dedecms 来源:网络整理
导读:今天在群里看到有位朋友需要实现中英文栏目名字的功能(如下图),下面我们就来看看强大的织梦CMS怎么实现吧! ? 首先给数据库中的dede_arctype表中增加一个字段,前面的表前缀是你的站点的名,并不一定是dede_ 添加后的效果如上图,具体的添加办法再次就不详
今天在群里看到有位朋友需要实现中英文栏目名字的功能(如下图),下面我们就来看看强大的织梦CMS怎么实现吧!
?

首先给数据库中的dede_arctype表中增加一个字段,前面的表前缀是你的站点的名,并不一定是dede_

添加后的效果如上图,具体的添加办法再次就不详述了。其中typenameng就是我增加的字段,名称有点长,当然你也可以改为自己乐意的名称,这个不伤大雅。
再找到dedetemplets目录下的catalog_edit.htm
找到
?
	
?
? ? ? ? ? ?
? ? ? ? ? ?
? ?
下面添加
? ? ? ? ? ? ?
? ? ? ? ? ? ?
最后我们在打开?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'}
? ? ? ? ? ? ? ? ? ? ?{/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 ishidden<>1 order by sortrank asc limit 0,$line ";
? ? }
? ? else if($type=='son')
? ? {
? ? ? ? if($typeid==0) return '';
? ? ? ? $sql = "SELECT id,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,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,$line ";
? ? ? ? $dsql->SetQuery($sql);
? ? ? $dsql->Execute();
? ? }
增加查询字段就可以在channel中使用了,还有type,channelartlist等标签页是在相应的lib类中添加查询的字段,在此限于篇幅就不错详细的叙述了。
//处理同级栏目中,当前栏目的样式。currentstyle中的调用,includetaglibchannel.lib.php140行 $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);下面添加
$linkOkstr = str_replace("~typenameeng~",$row['typenameeng'],$linkOkstr);即可。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读