<p>Honestly, the answer to your question is to not use structures to solve this problem. Here's a rule of thumb on structures: don't mix content types in the same structure ("content type" being a generic term for specific pieces of your content; e.g. blog posts, projects, testimonials, slides, pages, etc). So, for example, in your case a structure shouldn't contain projects <em>and</em> slides. However, if you had maybe projects and sub-projects, that could work well as a structure.</p>

<p>There are at least two options that I think are a better way to solve this. I personally would prefer #2 but figured I'd give you both of the ones I thought of off the top of my head.</p>

<ol>
<li><p>Create a channel of slides, and then from your project entries in your structure use an entries field to select the slides that should belong to that project entry. However, this could and probably would become an editing nightmare because all the slides of all the projects will be all in the same channel and depending on your editing workflow it could be a pain to try to edit one particular slide.</p></li>
<li><p>Utilize a Table, SuperTable, Matrix, or Neo field to create the slides inline in the project entries. All of these field types have the concept of repeating rows or blocks that you could use to create something like a collection of slides. A pro tip: if you want to keep the slides "separate" from your project content, you could always create a new tab in the field layout for your "slider builder".</p></li>
</ol>

<p>Hopefully that helps... If you need me to clarify anything I said feel free to comment below and I can update this answer accordingly!</p>

<hr>

<p><strong>Update:</strong></p>

<p>Here are some screenshots explaining what I was referring to in #2:</p>

<ul>
<li><p>First create your matrix field:
<a href="https://i.sstatic.net/Tb0ek.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Tb0ek.png" alt="enter image description here"></a></p></li>
<li><p>Then when you're editing your projects you can "create" slides inline:
<a href="https://i.sstatic.net/J1A1k.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/J1A1k.png" alt="enter image description here"></a></p></li>
<li><p>You can learn more about querying your new slides matrix field here: <a href="https://docs.craftcms.com/v3/matrix-fields.html" rel="nofollow noreferrer">https://docs.craftcms.com/v3/matrix-fields.html</a></p></li>
</ul>

CC BY-SA 4.0
2019-08-26T18:54:21.907Z
This helps a lot. However, Table, SuperTable, and Neo field are not things I've been exposed to so far, as they are not covered in the CraftQuest tutorial. I will look into those, but do you have a feeling about which of the options you provided would be the most straightforward way for me to build out, and for my client to understand?
BBaysinger
CC BY-SA 4.0
2019-08-26T19:04:19.737Z
Definitely #2. It looks like Table fields can't contain asset (image) fields, so that's actually off the table (pun fully intended haha). SuperTable and Neo are both third-party field types so I'd probably recommend setting up a Matrix for now; I think that will cover your needs nicely. You'll need to create a matrix field, then create a block, and then create an asset field and a text field in that block. Then you'll be able to add new slides as needed from the entry edit screen. Let me take a couple screenshots and update my answer for ya...
Jalen Davenport
CC BY-SA 4.0
2019-08-26T20:52:39.250Z
Very helpful so far. One thing though. I'd like a place to specify a *type* for each project. Is that in here somewhere, and I'm just missing it?
BBaysinger
CC BY-SA 4.0
2019-08-26T22:07:24.327Z
Yep! If each project type has different content and would need different fields you could Entry Types to achieve what you're looking to do. Otherwise you could use Categories to group them.
Jalen Davenport
CC BY-SA 4.0
2019-08-26T22:24:36.283Z
I'm not seeing how to use entry types for that. And categories doesn't give me a title for each project. I've updated my question to reflect the need for title and type.
BBaysinger
CC BY-SA 4.0
2019-08-26T23:02:03.703Z
Ugh. Ok I see I just needed to make a field layout with the photos matrix as one of the fields. Sorry, n00b here.
BBaysinger
CC BY-SA 4.0
2019-08-26T23:27:46.670Z
... Specifically, from Sections > Edit entry types
BBaysinger
CC BY-SA 4.0
2019-08-27T01:34:56.533Z
Yep, that's correct; the matrix field is added to the project entries. And then you'd control the project titles/types/etc via the other fields added to your project entries. The matrix would only be handling the photos...
Jalen Davenport
CC BY-SA 4.0
2019-08-27T01:38:06.800Z
Also, not sure if you're a part of the Craft CMS community on Discord (https://craftcms.com/discord), but feel free to @ me over there and we can continue the discussion as Stack Exchange isn't really suited for a longer conversation or additional questions.
Jalen Davenport
CC BY-SA 4.0
2019-08-26T18:41:24.717Z
2019-08-26T19:10:16.643Z
2019-08-26T19:10:16.643Z
Jalen Davenport
<p>I’m trying to figure out a way to setup a simple Craft section: a list of projects, each project consisting of a title and a type; and a series of photos, each photo having a description.</p>

<p>BUT... If I do this as a structure, the client is then able to nest them in a nonsensical hierarchy, like adding projects as children of photos. I know that's going to confuse my client. A way to lock down entries to a specific level would be sufficient, but I'm not finding that...</p>

<structure>
How to lock down entries to specific levels of Craft CMS Structure
# How to lock down entries to specific levels of Craft CMS Structure

(Asked by: username_0 on 2019-08-26)

I’m trying to figure out a way to setup a simple Craft section: a list of projects, each project consisting of a title and a type; and a series of photos, each photo having a description.

BUT... If I do this as a structure, the client is then able to nest them in a nonsensical hierarchy, like adding projects as children of photos. I know that's going to confuse my client. A way to lock down entries to a specific level would be sufficient, but I'm not finding that...

**Tags:** structure


---

## 1 answers

### Answer by username_1 on 2019-08-26. Score: 2

Honestly, the answer to your question is to not use structures to solve this problem. Here's a rule of thumb on structures: don't mix content types in the same structure ("content type" being a generic term for specific pieces of your content; e.g. blog posts, projects, testimonials, slides, pages, etc). So, for example, in your case a structure shouldn't contain projects *and* slides. However, if you had maybe projects and sub-projects, that could work well as a structure.

There are at least two options that I think are a better way to solve this. I personally would prefer #2 but figured I'd give you both of the ones I thought of off the top of my head.

1. Create a channel of slides, and then from your project entries in your structure use an entries field to select the slides that should belong to that project entry. However, this could and probably would become an editing nightmare because all the slides of all the projects will be all in the same channel and depending on your editing workflow it could be a pain to try to edit one particular slide.
2. Utilize a Table, SuperTable, Matrix, or Neo field to create the slides inline in the project entries. All of these field types have the concept of repeating rows or blocks that you could use to create something like a collection of slides. A pro tip: if you want to keep the slides "separate" from your project content, you could always create a new tab in the field layout for your "slider builder".

Hopefully that helps... If you need me to clarify anything I said feel free to comment below and I can update this answer accordingly!

---

**Update:**

Here are some screenshots explaining what I was referring to in #2:

* First create your matrix field:
  [![enter image description here](https://i.sstatic.net/Tb0ek.png)](https://i.sstatic.net/Tb0ek.png)
* Then when you're editing your projects you can "create" slides inline:
  [![enter image description here](https://i.sstatic.net/J1A1k.png)](https://i.sstatic.net/J1A1k.png)
* You can learn more about querying your new slides matrix field here: <https://docs.craftcms.com/v3/matrix-fields.html>

> **Comments:**
> **username_0**: This helps a lot. However, Table, SuperTable, and Neo field are not things I've been exposed to so far, as they are not covered in the CraftQuest tutorial. I will look into those, but do you have a feeling about which of the options you provided would be the most straightforward way for me to build out, and for my client to understand?  
> **username_1**: Definitely #2. It looks like Table fields can't contain asset (image) fields, so that's actually off the table (pun fully intended haha). SuperTable and Neo are both third-party field types so I'd probably recommend setting up a Matrix for now; I think that will cover your needs nicely. You'll need to create a matrix field, then create a block, and then create an asset field and a text field in that block. Then you'll be able to add new slides as needed from the entry edit screen. Let me take a couple screenshots and update my answer for ya...  
> **username_0**: Very helpful so far. One thing though. I'd like a place to specify a *type* for each project. Is that in here somewhere, and I'm just missing it?  
> **username_1**: Yep! If each project type has different content and would need different fields you could Entry Types to achieve what you're looking to do. Otherwise you could use Categories to group them.  
> **username_0**: I'm not seeing how to use entry types for that. And categories doesn't give me a title for each project. I've updated my question to reflect the need for title and type.  
> **username_0**: Ugh. Ok I see I just needed to make a field layout with the photos matrix as one of the fields. Sorry, n00b here.  
> **username_0**: ... Specifically, from Sections > Edit entry types  
> **username_1**: Yep, that's correct; the matrix field is added to the project entries. And then you'd control the project titles/types/etc via the other fields added to your project entries. The matrix would only be handling the photos...  
> **username_1**: Also, not sure if you're a part of the Craft CMS community on Discord (https://craftcms.com/discord), but feel free to @ me over there and we can continue the discussion as Stack Exchange isn't really suited for a longer conversation or additional questions.  

---

