不修改数据库dedecms怎么实现中英栏目名

文章介绍
首先找到 \include\taglib\channel.lib.php 大约在第140行

$likeType .= $linkOkstr;

在这个之前加入

$dirList = split('/',$row['typedir']);
$dirName = array_pop($dirList);
$linkOkstr = str_replace("~dirName~",$dirName,$linkOkstr);

调用方法如下:

{dede:channel type='top' row='10' currentstyle='<li class="current"><a href="~typelink~" ~rel~>###########<span class="cn">~typename~</span><span class="en">~dirName~</span></a></li>'
}
<li>
<a href='[field:typeurl/]' [field:rel/]>
<span class="cn">[field:typename/]</span>
<span class="en">[field:typedir runphp='yes' commet="获得最后目录名,英文"]
$l=split("/", @me);
@me=array_pop($l);
[/field:typedir]</span>
</a>
</li>
{/dede:channel}

这种方式的弊端是您的栏目链接要规范,按照英文的方式命名才可以。

没有账号? 注册忘记密码?