在构建双语网站时,使用Dedecms CMS实现中英文站共用一个后台是常见的需求。然而,在实际操作中可能会遇到一些问题,比如面包屑导航(当前位置)显示不理想的情况。本文将详细介绍如何优化Dedecms的面包屑导航,确保英文站面包屑中不再显示多余的“首页”链接。

当我们在模板中使用以下标签调用当前位置面包屑时:

{dede:field.position/}

如果是在英文站点上,生成的效果可能如下图所示:
dedecmsCMS中英文站同一个后台前端当前位置面包屑去掉首页

可以看到,面包屑中多出了一个中文的“首页”链接及箭头符号,这显然不符合英文站点的需求。接下来我们将介绍两种方法来解决这个问题。

方法一:直接修改模板标签

将原有的面包屑标签替换为以下代码:

{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)/}

最终效果如下图所示:
dedecmsCMS中英文站同一个后台前端当前位置面包屑去掉首页

通过以上两种方法,您可以轻松解决Dedecms中英文站面包屑导航的问题,使英文站点的用户体验更加友好。

希望本文对您有所帮助!如果您还有其他疑问,请随时提问。