在构建双语网站时,使用Dedecms CMS实现中英文站共用一个后台是常见的需求。然而,在实际操作中可能会遇到一些问题,比如面包屑导航(当前位置)显示不理想的情况。本文将详细介绍如何优化Dedecms的面包屑导航,确保英文站面包屑中不再显示多余的“首页”链接。
当我们在模板中使用以下标签调用当前位置面包屑时:
{dede:field.position/}
如果是在英文站点上,生成的效果可能如下图所示:

可以看到,面包屑中多出了一个中文的“首页”链接及箭头符号,这显然不符合英文站点的需求。接下来我们将介绍两种方法来解决这个问题。
方法一:直接修改模板标签
将原有的面包屑标签替换为以下代码:
{dede:field.position runphp=yes}global $cfg_list_symbol;$array = explode($cfg_list_symbol,@me);array_shift($array);@me = implode($cfg_list_symbol,$array);{/dede:field.position}
这段代码的作用是通过PHP函数移除面包屑中的第一个元素(即“首页”),从而达到优化效果。
方法二:自定义函数简化代码
如果您觉得上述方法代码过长,可以在Dedecms的自定义函数文件 /include/extend.func.php 中添加以下函数:
function nav_crumbs($nav) {
global $cfg_list_symbol;
$array = explode($cfg_list_symbol, $nav);
array_shift($array);
$nav = implode($cfg_list_symbol, $array);
return $nav;
}
保存后,在模板中调用该函数即可:
{dede:field.position function=nav_crumbs(@me)/}
最终效果如下图所示:

通过以上两种方法,您可以轻松解决Dedecms中英文站面包屑导航的问题,使英文站点的用户体验更加友好。
希望本文对您有所帮助!如果您还有其他疑问,请随时提问。