在使用 Dedecms 构建多语言网站时,有时需要在同一页面中同时显示中文和英文的栏目名称。如果不想修改数据库,可以通过调整 Dedecms 的模板文件实现这一功能。以下是如何通过修改 taglib/channel.lib.php 文件来实现中英文栏目名显示的方法。
首先,找到 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="~typename~~dirName~ "}
[field:typename/]
[field:typedir runphp='yes' commet="获得最后目录名,英文"]
$l=split("/", @me);
@me=array_pop($l);
[/field:typedir]
{/dede:channel}
通过以上设置,您可以轻松地在导航栏中同时展示中文和英文的栏目名称。需要注意的是,这种方法的前提是您的栏目链接必须按照英文方式命名,否则将无法正确显示英文栏目名。
换行标签:
空格标签:
总结来说,通过修改 Dedecms 的核心文件并合理配置模板,可以实现不改动数据库的情况下,在前端页面中同时显示中英文栏目名的功能。这种方式不仅提高了网站的国际化程度,还为用户提供更好的浏览体验。