Django CMS で構築している複雑なナビゲーションがあります。ナビゲーションには、3 つのレベルのページがあります。レベル 2 ナビゲーションをレンダリングするときは、最初にリーフ ノードであるすべてのレベル 2 ページを順番に表示し、次にすべてのレベル 2 ページとその子を表示したいと思います。
ツリー構造の例を次に示します。
- ホームページ
- 私たちに関しては
- レベル 2
- 詳細
- 私たちは誰ですか
- 私達がすること
- ロレム・イプサム
- お問い合わせ
- その他
出力は次のようになります。
<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>
ノードを 2 回ループする必要のない解決策を見つけたいと思います。ありがとう!