我有一个使用 Django CMS 构建的复杂导航。在导航中,页面分为三个级别。在渲染二级导航时,我想先按顺序显示所有作为叶子节点的二级页面,然后再显示所有二级页面及其子节点。
这是树结构的示例:
- 主页
- 关于我们
- 二级
- 深入
- 我们是谁
- 我们所做的
- Lorem Ipsum
- 联系我们
- 等等
输出应该是这样的:
<ul>
<li>Homepage</li>
<li>About Us
<ul class="lvl-2">
<!-- All leaf nodes are grouped first -->
<li>Level Two</li>
<li>Lorem Ipsum</li>
<!-- Then the nodes with children after -->
<li>In Depth
<ul class="lvl-3">
<li>Who we are</li>
<li>What we do</li>
</ul>
</li>
</ul>
</li>
<li>Contact Us
<ul class="lvl-2">
<li>Etcetera</li>
</ul>
</li>
</ul>
我更愿意找到一个不需要循环遍历节点两次的解决方案。谢谢!