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;