Я пытаюсь визуализировать динамическое меню в Django / Wagtail. Пока это работает хорошо, но когда я пересекаю дерево страниц и добираюсь до последнего потомка, меню исчезает.
Мне интересно, есть ли способ написать код, чтобы, когда пользователь перебрал все страницы и перешел на страницу без дочерних элементов, я смог получить братьев и сестер на этой странице и отобразить эти ссылки вместо того, чтобы быть пустым? Или я могу сказать трясогузке, что если на странице нет дочерних элементов, отобразить родных братьев на этой странице?
Таким образом, кто-то может легко перемещаться по страницам, даже если они находятся на последнем ребенке.
Я использую wagtailmenus для рендеринга flat_menu, чтобы сделать это до сих пор.
Я смог заставить это работать, выполнив следующее:
{% for content in page.get_siblings %}
Это сработало, чтобы получить братьев и сестер в качестве эксперимента, но, конечно, логика больше не существует, чтобы получить детей. Ниже мой текущий код - я действительно не знаю, что я могу сделать в закомментированных 3 строках кода для достижения моей цели. Я попробовал несколько вещей, но мне не повезло.
{% load static wagtailcore_tags menu_tags %}
<aside class="sidebar sidebar-boxed sidebar-dark">
<ul class="nav sidenav dropable sticky">
{% for content in page.get_children %}
<li class="{{ content.active_class }}">
<a href="{% pageurl content %}">{{ content.title }}</a>
#{% if content.has_children_in_menu %}
#{{ content.sub_menu.render_to_template }}
#{% endif %}
</li>
{% endfor %}
</ul>
</aside>
Мой ожидаемый результат заключается в том, что когда я достигну последнего ребенка, меню будет отображать братьев и сестер для последнего ребенка как меню, а не будет отображаться пустым.
Мне нужно уникальное и непротиворечивое меню боковой панели для каждого соответствующего родителя независимо от дочерней страницы, к которой я перехожу.