Drupal文档教程翻译 - 为主/次级菜单项添加分隔符

logo-drupal-documentation本站原创编译,转载请给面子,尊重劳动果实,欢迎交流指正。

早,天又变灰了,可能是让太阳晒的,空气哥也色素沉积了。继续Druapl文档翻译,了解点实用的代码片段,这事挺好的。前面一篇里面,我们学习了怎样基于不同的节点类型和节点id来输出区块,今天来看看怎样为默认的主菜单(primary links)和次级菜单(secondary links)中的菜单项添加分隔符。

原始需求在Drupal论坛的这个帖子里面被提出,其实很简单常见,一点也不过分,就是把菜单项搞成“links1 | links2 | links3 | link4”这样的形式。自然涉及到主题函数的覆写,我们来看下怎么搞。

在站点根路径的inclues文件夹中找到theme.inc文件将里面的theme_links函数代码复制粘贴到当前主题的template.php文件中,并将函数名改为yourtheme_links,其中yourtheme就是当前正在使用的主题名称。

将下面的代码添加到yourtheme_links函数第二行“$output='';”的后面:

<?php
// | delimiter added here.
if($attributes['class'] == 'links secondary-links') {
$linklist = array();
foreach ((array)$links as $key => $link) {
$linklist[] = l($link['title'], $link['href'], $link);
}
// Return the links joined by a '|' character
return join(' | ', $linklist);
?>
}

酱,我们就为次级菜单的菜单项添加了“|”作为分隔符。附赠传送门,加咔加咔酱CHAOS!

接下来我们可以到page.tpl.php中合适的地方手动插入用来输出次级菜单的代码:

<?php
if(isset($secondary_links)){
print YOURTHEME_links($secondary_links, array('class' => 'links secondary-links'));
}
?>

译者:Viiiix7210

如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看英文原文: Changing the delimiter on primary/secondary links


收藏与分享

添加评论


Security code
换一张图