栏目需要用到栏目列表标签。文档:NodeList和NodePage标签
在任意页面都可以调用以下代码获取到一级栏目:
[@NodeList;list]
[#list list as n]
<a href="${n.url}">${n.name}</a>
[/#list]
[/@NodeList]
在此基础上,再获取到每个一级栏目的下级菜单,也就是二级栏目。具体代码如下:
<ul>
[@NodeList;list]
[#list list as n]
<li>
<a href="${n.url}">${n.name}</a>
<div>
[@NodeList parentId=n.id;children]
[#list children as child]
<a href="${child.url}">${child.name}</a>
[/#list]
[/@NodeList]
</div>
</li>
[/#list]
[/@NodeList]
</ul>
这样就获取到了页面所需的一级栏目和二级栏目的数据。再配合css和js,先把二级栏目的内容隐藏起来,当鼠标移到相应的一级栏目是,显示对应二级栏目的内容。