"景先生毕设|www.jxszl.com

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

2022-10-29 16:28编辑: www.jxszl.com景先生毕设
今天在群里看到有位朋友需要实现中英文栏目名字的功能(如下图),下面我们就来看看强大的织梦CMS怎么实现吧!
织梦dedeCMS在栏目加I.个字段实现中英文导航功能
首先给数据库中的dede_arctype表中增加I.个字段
织梦dedeCMS在栏目加I.个字段实现中英文导航功

 更多精彩就在: 51免费论文网|www.jxszl.com 

添加后的效果如上图,具体的添加办法再次就不详述了.其中typenameng就是我增加的字段,名称有点长,当然你也可以改为自己乐意的名称,这个不伤大雅.
再找到dede emplets目录下的catalog_edit.htm

找到
栏目名称:"class="iptxt"/>


下面添加栏目英文名称:"class="iptxt"/>


最后我们在打开dedecatalog_edit.php

找到
$upquery="UPDATE`#分隔符@_arctype`SET
issend=$issend,
sortrank=$sortrank,
typename=$typename,
typenameng=$typenameng,
typedir=$typedir,
isdefault=$isdefault,
defaultname=$defaultname,

增加红色的部分,分隔符III个字自行去掉,至此就添加完成了.
调用方式:{dede:fieldname=typenameng/}

想要在channel中使用,例如
{dede:channeltype=sonrow=I.0typeid=I.}
  • [field:typename/][field:typenameng/]
  • {/dede:channel}

    则还要修改I.个文件,找到include aglibchannel.lib.php

    第I.处:
    if($type==top)
    {
    $sql="SELECTid,typename,typenameng,typedir,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
    From`#分隔符@_arctype`WHEREreid=0Andishidden<>I.orderbysortrankasclimit0,$line";
    }
    elseif($type==son)
    {
    if($typeid==0)return;
    $sql="SELECTid,typename,typenameng,typedir,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
    From`#分隔符@_arctype`WHEREreid=$typeidAndishidden<>I.orderbysortrankasclimit0,$line";
    }
    elseif($type==self)
    {
    if($reid==0)return;
    $sql="SELECTid,typename,typenameng,typedir,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
    FROM`#分隔符@_arctype`WHEREreid=$reidAndishidden<>I.orderbysortrankasclimit0,$line";
    }

    第II处:

    //如果用子栏目模式,当没有子栏目时显示同级栏目
    if($type==son&&$reid!=0&&$totalRow==0)
    {
    $sql="SELECTid,typename,typenameng,typedir,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
    FROM`#分隔符@_arctype`WHEREreid=$reidAndishidden<>I.orderbysortrankasclimit0,$line";
    $dsql->SetQuery($sql);
    $dsql->Execute();
    }


    增加查询字段就可以在channel中使用了,还有type,channelartlist等标签页是在相应的lib类中添加查询的字段,在此限于篇幅就不错详细的叙述了.

    //处理同级栏目中,当前栏目的样式.currentstyle中的调用,include aglibchannel.lib.phpI.IV0行$linkOkstr=str_replace("~typename~",$row[typename],$linkOkstr);下面添加
    $linkOkstr=str_replace("~typenameeng~",$row[typenameeng],$linkOkstr);即可.


    原文链接:http://www.jxszl.com/biancheng/dedecms/75243.html