注册 | 登录 |
地方论坛门户及新闻和人才网址大全

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

时间:2021-07-21人气:-


有时候因为网站功能需求,我们需要为织梦程序的栏目添加英文名称,这里有一个栏目添加英文名称的方法,下面站长和大家分享一下。
因为客户需要做这样一个需要中英转换的栏目,在网上找了很多方法,但都不适用,终于被我找到了个能用的,也很简单,只需修改几个地方
就完全可以在后台添加了!

一、方法步骤:

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

dede/catalog_add.php 

dede/catalog_edit.php

dede/templets/catalog_add.htm

dede/templets/catalog_edit.htm

二、新加字段typenameen

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

altertable`dede_arctype`add`typenameen`char(100)NOTNULLdefault'';

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

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

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

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

dedecms织梦网站栏目增加英文名称的方法

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

在252行换行增加:

<tr>

<tdclass='bline'height="26"style="padding-left:10px;"><fontcolor='red'>英文名称:</font></td>

<tdclass='bline'><inputname="typenameen"type="text"id="typenameen"size="30"class="iptxt"/></td>

</tr>

dedecms织梦网站栏目增加英文名称的方法

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

在219行换行增加:

<tr>

<tdclass='bline'height="26"style="padding-left:10px;">英文名称:</td>

<tdclass='bline'><inputname="typenameen"type="text"id="typenameen"size="30"value="<?phpecho$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}


则还要修改一个文件,找到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,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类中添加查询的字段,在此限于篇幅就不错详细的叙述了。

上篇:织梦上一页下一页列表翻页单独调用的实现代码

下篇:DedeCMS实现按栏目分类进行搜索