多级导航菜单实现方案📅 2023-10-21  |  👁 2892 次浏览

DaoKeCMS支持多级导航菜单。通过pid字段可以构建任意层级的导航树。一级菜单pid=0,子栏目的pid为父栏目id。

实现方案

在header.php中,先获取所有导航栏目,然后按pid分组:pid=0的为顶级菜单,其余为子菜单。对每个顶级菜单,查找pid等于该菜单id的栏目作为子菜单,渲染为下拉菜单。

$navCats = get_nav_categories();
$topCats = array_filter($navCats, fn($c) => (int)$c['pid'] === 0);
foreach ($topCats as $top):
    $subs = array_filter($navCats, fn($c) => (int)$c['pid'] === (int)$top['id']);
    if ($subs) { /* 渲染下拉菜单 */ }
    else { /* 渲染普通链接 */ }
endforeach;
  • 子栏目的pid等于父栏目的id
  • 可构建任意层级导航树
  • 下拉菜单用CSS和JS实现
  • 移动端导航需要可折叠

芒阳网络团域cms开发中心

Copyright © 2023 刀客CMS内容管理系统