织梦dedecms网站栏目增加英文名称并高亮显示的方法

作者: jiukeshuju 分类: DEDECMS 发布时间: 2020-10-02 15:03


有时候因为网站功能需求,我们需要为织梦程序的栏目添加英文名称,这里有一个栏目添加英文名称的方法,下面站长和大家分享一下。 

因为客户需要做这样一个需要中英转换的栏目,在网上找了很多方法,但都不适用,终于被我找到了个能用的,也很简单,只需修改几个地方 

就完全可以在后台添加了! 

一、方法步骤: 

涉及到文件如下(注意备份): 

dede/catalog_add.php 

dede/catalog_edit.php 

dede/templets/catalog_add.htm 

dede/templets/catalog_edit.htm 

二、新加字段 typenameen 

后台执行SQL(前缀默认为dede_ 具体前缀根据自己网站修改): 

alter table `dede_arctype` add `typenameen` char(100) NOT NULL default ”; 

二、打开dede/catalog_add.php 查找:v5.7在第65行。 

在65行typename后面增加【typenameen,】,在66行’~typename~’增加【’~typenameen~’,】。 

二、打开dede/catalog_edit.php 查找:v5.7在第41行。 

在typename=’$typename’,后面增加一行 【typenameen=’$typenameen’,】。 


 

二、打开dede/templets/catalog_add.htm 查找:v5.7在252行。 

在252行换行增加:<tr><td class=”bline” height=”26″ style=”padding-left:10px;”><span style=”color:red;”>英文名称:</span></td><td class=”bline”><input name=”typenameen” type=”text” id=”typenameen” size=”30″ class=”iptxt” /></td></tr>dedecms织梦网站栏目增加英文名称的方法 


 

二、打开dede/templets/catalog_edit.htm 查找:v5.7在219行。 

在219行换行增加:<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” /> (栏目模板里用{dede:field.typenameen /}调用)</td></tr>dedecms织梦网站栏目增加英文名称的方法 


 

设置到此就完成了!英文调用的标签是:{dede:field.typenameen /} 

再过来你的后台看看效果如下: 




想要在channel 中使用,例如: 

复制代码

{dede:channel type='son' row='10' typeid='1'}<li><a href="[field:typeurl/]">[field:typename/][field:typenameng/]</a></li>{/dede:channel}

则还要修改一个文件,找到include\taglib\channel.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,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,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,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,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,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 

            FROM `#分隔符@__arctype` WHERE reid=’$reid’ And ishidden<>1 order by sortrank asc limit 0, $line “; 

        $dsql->SetQuery($sql); 

      $dsql->Execute(); 

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

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!