eckstein eckstein - 7 months ago 10
HTML Question

GRAV subnavigation

I try to make my first site with GRAV CMS.
Now in my

pages-folder
it looks like this:


  • home/default.md

  • about

  • about/seite1/default.md

  • about/seite2/default.md



Now, if i put the following code into my html-file, only the main points are showed in the navigation.

<nav class="" role="navigation">
<div class="">
<ol class="">
{% for page in pages.children %}
{% if page.visible %}
{% set current_page = (page.active or page.activeChild) ? 'active' : '' %}
<li class="{{ current_page }}"><a href="{{ page.url }}">{{ page.menu }}</a</li>
{% endif %}
{% endfor %}
</ol>
</div>
</nav>


Is there a way to show all the pages, including subpages in the navigation?

thanks for your answer...

Answer

This should give you the fist level of children (subpages) in your navigation:

<nav class="" role="navigation">        
    <div class="">
        <ol class="">
            {% for page in pages.children %}
                {% if page.visible %}
                    {% set current_page = (page.active or page.activeChild) ? 'active' : '' %}
                    <li class="{{ current_page }}"><a href="{{ page.url }}">{{ page.menu }}</a></li>
                    {% if page.children %}
                        <ol class="">
                        {% for child in page.children %}
                            {% if child.visible %}
                                <li class="{{ current_page }}"><a href="{{ child.url }}">{{ child.menu }}</a></li>
                            {% endif %}
                        {% endfor %}
                        </ol>
                    {% endif %}
                {% endif %}
            {% endfor %}                
        </ol>
    </div>
</nav>