<p>I'll assume that 'watch' is a landing page in which you want to list out the various sermons from the sermons structure. In which case you can retrieve and display those in the 'watch' template using a <code>for...in</code> or a <code>nav...in</code> loop. For example:</p>

<pre><code>{% set sermons = craft.entries.section('sermons').limit(null) %}
&lt;ul&gt;
    {% nav sermon in sermons %}
        &lt;li&gt;&lt;a href="{{ sermon.url }}"&gt;{{ sermon.title }}&lt;/a&gt;&lt;/li&gt;
        {% if children %}
            {% children %}
        {% endif %}
    {% end for %}
&lt;/ul&gt;
</code></pre>

<p>In your 'sermons' section settings you can then set the top-level uri to be:</p>

<pre><code>watch/{slug}
</code></pre>

<p>And the nested uri to:</p>

<pre><code>{parent.uri}/{slug}
</code></pre>

<p>In this way, you can set the uri's to match up nicely, with the index page as 'watch' and the sermon entries as 'watch/sermon-parent-slug/sermon-slug'</p>

CC BY-SA 3.0
2014-11-17T21:54:33.787Z
So I've already setup a "landing page" under /sermons with my sermon structure. I've got it looping through and displaying them already. I guess all I would need to od is change the top level uri of the sermon structure to be watch/{slug}? Am I reading that correctly? Edit: And then add that code to the /watch page?
misteroptimist
CC BY-SA 3.0
2014-11-17T22:03:44.773Z
What I was suggesting is placing your sermons landing page in the navigation structure, since I assume that there is only one landing page which houses all sermons anyway. Then in your sermons structure the top level would be the actual sermons (with whatever subpages you need under those). The reason I suggest this is that by adding 'watch' to the navigation structure, craft is already creating the 'watch' uri anyway. Might as well use it, rather than creating some fancy routing workaround.
Douglas McDonald
CC BY-SA 3.0
2014-11-17T22:16:19.583Z
A lot will depend on what actual uri you want (and or if there will ever be other things besides sermons that you want in the watch section). If you want 'watch/sermons/sermon-slug' and the top-level of your sermons structure is 'sermons' (with only 1). Then you could leave the index in the sermons template and pull that content (i.e. index) into the watch template (if that makes sense).
Douglas McDonald
CC BY-SA 3.0
2014-11-17T22:30:38.107Z
Interesting. I understand what you are saying now. I think I'm just going to go with your initial suggestion. I'll move over the code on my sermons page to the watch page and just pull in all my information from my other structure. That makes the most sense to me right now. I suppose this could work the same for a channel? Say I wanted to add in a blog in the navigation. I'd just set that up as a separate channel and then pull it in same as I did the structure? It's all starting to make sense!
misteroptimist
CC BY-SA 3.0
2014-11-17T23:08:10.147Z
Yep. The same method could be used for a 'blog' channel as well. Although you wouldn't have need for the recursive `nav...in` and could just use the normal `for...in` loop, which would return entries by publish date by default.
Douglas McDonald
CC BY-SA 3.0
2014-11-17T23:30:14.860Z
For most of my projects (to date anyway), I tend to use a single structure (with unique `Entry Types` for each unique page layout) to house all of my 'one-off' and 'index' landing pages and to generate site navigation, and other structures or channels for repetitive content (i.e. blog, news, articles, projects, office locations, etc. — sermons in your case), which I can pull into the main 'pages' index templates (either as a list of links to the full entry or the actual content itself depending on the type of content it is).
Douglas McDonald
CC BY-SA 3.0
2014-11-18T17:00:56.403Z
I'll go this route I think. Thanks again Douglas, you've helped me twice now on this topic! I love the Craft community. This solution makes the most sense in my head.
misteroptimist
CC BY-SA 3.0
2014-11-17T21:50:48.050Z
2014-11-17T21:50:48.050Z
Douglas McDonald
<p>I've searched these boards and haven't been able to find the answer to my specific question. </p>

<p>I'm working on building my navigation, and I want to build it in a structure. It will be a multi-level navigation, which is why it makes sense for a structure. However, I've already built a separate structure for a sermon catalog that I want to keep separate from the navigation structure.</p>

<p>Basically, I want to be able to link to a separate structure within my navigation structure. Is this possible? Is there a better way to do this that I haven't grasped yet?</p>

<p><strong>Navigation Structure Example</strong></p>

<p>1.Home</p>

<p>2.About</p>

<ul>
<li>Directions</li>
<li>Staff</li>
</ul>

<p>3.Watch (I want this to link to my sermon structure)</p>

<p>4.Kids &amp; Students</p>

<ul>
<li>Highschoolers</li>
<li>Middleschoolers</li>
<li>K-5th</li>
</ul>

<p><strong>EDIT:</strong> I've tried adding in an entry type to navigation and linking to the structure, but it won't let me link to the actual structure. Just entries inside the structure. Which is not what I want. Any thoughts?</p>

<navigation>
Explanation of how to link to a structure from a structure
# Explanation of how to link to a structure from a structure

(Asked by: username_0 on 2014-11-17)

I've searched these boards and haven't been able to find the answer to my specific question.

I'm working on building my navigation, and I want to build it in a structure. It will be a multi-level navigation, which is why it makes sense for a structure. However, I've already built a separate structure for a sermon catalog that I want to keep separate from the navigation structure.

Basically, I want to be able to link to a separate structure within my navigation structure. Is this possible? Is there a better way to do this that I haven't grasped yet?

**Navigation Structure Example**

1.Home

2.About

* Directions
* Staff

3.Watch (I want this to link to my sermon structure)

4.Kids & Students

* Highschoolers
* Middleschoolers
* K-5th

**EDIT:** I've tried adding in an entry type to navigation and linking to the structure, but it won't let me link to the actual structure. Just entries inside the structure. Which is not what I want. Any thoughts?

**Tags:** navigation

---

## 1 answers

### Answer by username_1 on 2014-11-17. Score: 3

I'll assume that 'watch' is a landing page in which you want to list out the various sermons from the sermons structure. In which case you can retrieve and display those in the 'watch' template using a for...in or a nav...in loop. For example:
{% set sermons = craft.entries.section('sermons').limit(null) %}

    {% nav sermon in sermons %}
        {{ sermon.title }}
        {% if children %}
            {% children %}
        {% endif %}
    {% end for %}


In your 'sermons' section settings you can then set the top-level uri to be:
watch/{slug}

And the nested uri to:
{parent.uri}/{slug}

In this way, you can set the uri's to match up nicely, with the index page as 'watch' and the sermon entries as 'watch/sermon-parent-slug/sermon-slug'

> **Comments:**
> **username_0**: So I've already setup a "landing page" under /sermons with my sermon structure. I've got it looping through and displaying them already. I guess all I would need to od is change the top level uri of the sermon structure to be watch/{slug}? Am I reading that correctly? Edit: And then add that code to the /watch page?  
> **username_1**: What I was suggesting is placing your sermons landing page in the navigation structure, since I assume that there is only one landing page which houses all sermons anyway. Then in your sermons structure the top level would be the actual sermons (with whatever subpages you need under those). The reason I suggest this is that by adding 'watch' to the navigation structure, craft is already creating the 'watch' uri anyway. Might as well use it, rather than creating some fancy routing workaround.  
> **username_1**: A lot will depend on what actual uri you want (and or if there will ever be other things besides sermons that you want in the watch section). If you want 'watch/sermons/sermon-slug' and the top-level of your sermons structure is 'sermons' (with only 1). Then you could leave the index in the sermons template and pull that content (i.e. index) into the watch template (if that makes sense).  
> **username_0**: Interesting. I understand what you are saying now. I think I'm just going to go with your initial suggestion. I'll move over the code on my sermons page to the watch page and just pull in all my information from my other structure. That makes the most sense to me right now. I suppose this could work the same for a channel? Say I wanted to add in a blog in the navigation. I'd just set that up as a separate channel and then pull it in same as I did the structure? It's all starting to make sense!  
> **username_1**: Yep. The same method could be used for a 'blog' channel as well. Although you wouldn't have need for the recursive `nav...in` and could just use the normal `for...in` loop, which would return entries by publish date by default.  
> **username_1**: For most of my projects (to date anyway), I tend to use a single structure (with unique `Entry Types` for each unique page layout) to house all of my 'one-off' and 'index' landing pages and to generate site navigation, and other structures or channels for repetitive content (i.e. blog, news, articles, projects, office locations, etc. — sermons in your case), which I can pull into the main 'pages' index templates (either as a list of links to the full entry or the actual content itself depending on the type of content it is).  
> **username_0**: I'll go this route I think. Thanks again Douglas, you've helped me twice now on this topic! I love the Craft community. This solution makes the most sense in my head.  

---

