PHPcms 是一个基于 PHP 和 MySQL 构建的内容管理系统(CMS),它提供了丰富的功能来帮助用户快速搭建和管理网站。二级导航通常指的是在主菜单项下有子菜单项的导航结构,这种结构可以帮助用户更清晰地浏览和访问网站的各个部分。
以下是一个简单的 PHPcms 二级导航调用的示例代码:
<?php
// 假设这是从数据库中获取的菜单数据
$menu_data = [
['name' => '首页', 'url' => '/'],
['name' => '关于我们', 'url' => '/about', 'children' => [
['name' => '公司简介', 'url' => '/about/intro'],
['name' => '团队介绍', 'url' => '/about/team'],
]],
['name' => '产品', 'url' => '/products', 'children' => [
['name' => '产品A', 'url' => '/products/a'],
['name' => '产品B', 'url' => '/products/b'],
]],
];
function render_menu($menu_data, $parent = null) {
if (isset($menu_data['children'])) {
echo '<li class="dropdown">';
echo '<a href="' . $menu_data['url'] . '" class="dropdown-toggle" data-toggle="dropdown">' . $menu_data['name'] . '</a>';
echo '<ul class="dropdown-menu">';
foreach ($menu_data['children'] as $child) {
render_menu($child, $menu_data['name']);
}
echo '</ul>';
echo '</li>';
} else {
echo '<li><a href="' . $menu_data['url'] . '">' . $menu_data['name'] . '</a></li>';
}
}
?>
<ul class="nav navbar-nav">
<?php foreach ($menu_data as $item) { ?>
<?php render_menu($item); ?>
<?php } ?>
</ul>
原因:
解决方法:
render_menu
函数能够正确处理子菜单项的显示逻辑。function render_menu($menu_data, $parent = null) {
if (isset($menu_data['children'])) {
echo '<li class="dropdown">';
echo '<a href="' . $menu_data['url'] . '" class="dropdown-toggle" data-toggle="dropdown">' . $menu_data['name'] . '</a>';
echo '<ul class="dropdown-menu">';
foreach ($menu_data['children'] as $child) {
render_menu($child, $menu_data['name']);
}
echo '</ul>';
echo '</li>';
} else {
echo '<li><a href="' . $menu_data['url'] . '">' . $menu_data['name'] . '</a></li>';
}
}
通过以上步骤,可以确保二级导航能够正确显示子菜单项。
领取专属 10元无门槛券
手把手带您无忧上云