Creating Navigation in Craft CMS

Because Craft doesn't formally support one way to do navigation, there is a lot of flexibility in what you can do. Here are some ideas on how to code site navigation in Craft and Twig.

Start Course
Ryan Irelan

I am the creator of CraftQuest, a web developer, and former software team manager. I spend most of my time improving CraftQuest with code and courses. When I'm not in front of the computer, I spend my time with my family, and running on the roads and trails of Austin, TX.

Creating Navigation in Craft CMS is made up of the following videos:

1Introduction to Site NavigationThere isn't an official way to manage navigation in Craft CMS. Unlike other CMSes that offer built-in navigation management, Craft CMS leaves it up to the developer to decide the best implementation for the website. 02:47
2Static Navigation in Craft CMSStatic navigation is a set-and-forget approach to navigation, and it comes with the assumption that the navigation will not change very often. 03:17
3Partially-Dynamic NavigationA partially dynamic navigation is one that pulls in some navigation items via Element queries in Craft. A typical example of this is a drop-down that has additional subpages under the main navigation item. 04:07
4Global-Set-Powered NavigationIn this example, we create a Global Set in Craft and use it to build and manage the site navigation. The advantage here is that it allows someone, presumably the client or customer, to manage the navigation from the Craft control panel. This is helpful in some scenarios because it doesn't require the intervention of a developer or technical staff member. 05:46
5Structure-Powered NavigationAnother option when tackling navigation is to tie your content structure and navigation closely together using the Structure section to power the navigation. 06:39
6Plugin-Powered NavigationIf none of the native options work for your project, and you need to give the site administrators ultimate control over the site navigation, then one of the popular navigation plugins is the correct choice. 05:37