<p>You don't necessarily need to use the <code>nav</code> tag, you can just spin through the <code>entries</code> in a normal <code>{% for entry in entries %}</code> loop, making use of the <a href="https://craftcms.com/docs/templating/entrymodel#level" rel="nofollow noreferrer"><code>level</code></a> property and the <a href="https://craftcms.com/docs/templating/entrymodel#getDescendants" rel="nofollow noreferrer"><code>getDescendants</code></a> method.</p>

<p>There are some good suggestions for more complicated <code>nav</code> code in this answer:</p>

<p><a href="https://craftcms.stackexchange.com/a/1847/142">How do you handle complex navigation in Craft?</a></p>

<p>and there's some good pointers in the answers to this question:</p>

<p><a href="https://craftcms.stackexchange.com/q/1733/142">Custom or complex nav tag</a></p>

CC BY-SA 3.0
2016-08-08T22:25:13.533Z
I tried following one of the examples but apparently it's no correct. Now it's only returning the parent page name for each child and no other entry data.
    {% set pages = craft.entries.section('pages').id('not 1').level(1) %}
          {% for page in pages %}
            {% if page.hasDescendants %}
             <div>{{ entry.title }}</div>
       {% endif %}
      {% endfor %}
glider
CC BY-SA 3.0
2016-08-09T10:11:07.433Z
@David - Have you tried it without the `.level(1)`? It's my understanding that by adding this, you are saying you only want the top level entries returned, so in effect you are saying don't fetch the children.
Steve Holland
CC BY-SA 3.0
2016-08-08T06:55:33.187Z
2016-08-08T06:55:33.187Z
2017-04-13T12:51:00.200Z
Steve Holland
<p>I'm building an overview page that will show a title, thumbnail, etc of the pages inside the structure. I want the nav children to start at the parent page we're currently on. I can get the correct elements to display - they just don't have any entry data like title.  If there's a better way to approach this let me know. </p>

<pre><code>{% set overview = (entry.level == 1) ? entry : entry.getAncestors().level(1).first() %}

{% nav entry in overview %}

{{ cycle(['&lt;div class="overviewrow"&gt;', '', '', ''], loop.index0)|raw }}
    &lt;div class="col"&gt;
        &lt;a class="marketlink href="{{ entry.url }}"&gt;
        &lt;div class="marketwrap"&gt;
            {% for block in entry.contents.type('image').limit(1) %}
            {% if block.image | length %}
            {% for image in block.image.limit(1) %}    
                      &lt;img src="{{ image.getUrl('blogThumb')}}" alt="{{ image.altText }}"&gt;   
            {% endfor %} 
            {% else %}
                      &lt;img src="/something.jpg"&gt;
            {% endif %} 
          {% endfor %} 
                      &lt;div&gt;{{ entry.title }}&lt;/div&gt;
        &lt;/div&gt;&lt;/a&gt;&lt;/div&gt;
        {% ifchildren %}
                {% children %}
        {% endifchildren %}

  {{ cycle(['', '', '', '&lt;/div&gt;'], loop.index0)|raw }}


 {% endnav %}
</code></pre>

<entries><navigation>
display entries inside nav
# display entries inside nav

(Asked by: username_0 on 2016-08-08)

I'm building an overview page that will show a title, thumbnail, etc of the pages inside the structure. I want the nav children to start at the parent page we're currently on. I can get the correct elements to display - they just don't have any entry data like title.  If there's a better way to approach this let me know. 
{% set overview = (entry.level == 1) ? entry : entry.getAncestors().level(1).first() %}

{% nav entry in overview %}

{{ cycle(['', '', '', ''], loop.index0)|raw }}
    
        
        
            {% for block in entry.contents.type('image').limit(1) %}
            {% if block.image | length %}
            {% for image in block.image.limit(1) %}    
                         
            {% endfor %} 
            {% else %}
                      
            {% endif %} 
          {% endfor %} 
                      {{ entry.title }}
        
        {% ifchildren %}
                {% children %}
        {% endifchildren %}

  {{ cycle(['', '', '', ''], loop.index0)|raw }}


 {% endnav %}

**Tags:** entries, navigation


---

## 1 answers

### Answer by username_1 on 2016-08-08. Score: 3

You don't necessarily need to use the `nav` tag, you can just spin through the `entries` in a normal `{% for entry in entries %}` loop, making use of the [`level`](https://craftcms.com/docs/templating/entrymodel#level) property and the [`getDescendants`](https://craftcms.com/docs/templating/entrymodel#getDescendants) method.

There are some good suggestions for more complicated `nav` code in this answer:

[How do you handle complex navigation in Craft?](https://craftcms.stackexchange.com/a/1847/142)

and there's some good pointers in the answers to this question:

[Custom or complex nav tag](https://craftcms.stackexchange.com/q/1733/142)

> **Comments:**
> **username_0**: I tried following one of the examples but apparently it's no correct. Now it's only returning the parent page name for each child and no other entry data.     {% set pages = craft.entries.section('pages').id('not 1').level(1) %}           {% for page in pages %}             {% if page.hasDescendants %}              <div>{{ entry.title }}</div>        {% endif %}       {% endfor %}  
> **username_1**: @David - Have you tried it without the `.level(1)`? It's my understanding that by adding this, you are saying you only want the top level entries returned, so in effect you are saying don't fetch the children.  

---

