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

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

发布时间:2020-12-14 04:55:32 所属栏目: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'} 则还要修改一个文件,找到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);即可。

(编辑:李大同)

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

    推荐文章
      热点阅读