回答(2)
已采纳最佳答案-
2026-10-25 回答 最佳答案
全站导航直接用
$nodes,它在任何页面都有(首页、栏目页、详情页、登录页都有,因为放在 siteVars 里):<nav> <ul> <li><a href="/">首页</a></li> {loop $nodes as $nav} <li> <a href="{$nav.url}">{$nav.name}</a> {if !empty($nav.children)} <ul> {loop $nav.children as $sub} <li><a href="{$sub.url}">{$sub.name}</a></li> {/loop} </ul> {/if} </li> {/loop} </ul> </nav>要点:
$nodes是按名称去重过的栏目树,子栏目在children里;- 链接一律用
{$nav.url},不要自己拼/list/xxx——入口模式、PATH_INFO、伪静态三种链接形态下拼出来的地址不一样,拼串必踩坑; {loop}自带空值保护,列表为空整段不输出,不用再包一层{if};- 栏目页本身还能拿到
{$node.name}、{$node.description}、{$node.children}。
-
2026-10-25 回答
补充:如果只要"当前栏目下的子栏目",栏目页用
{$node.children}即可,不必从$nodes里找。导航里不想出现的栏目,后台把它状态改成「隐藏」就行。
写回答
该问题已解决,不再接受新的采纳。