How do you create submenus for the top menubar in the frontend?
The main menu is the partial “nav-links.htm”. Should i extend this file with the related submenues?
I’m new with October CMS. I’m trying to get familiar with the concept and i’m trying to find to best ways to “do things”.
or copy the demo theme and start from there your own theme
Maybe we have a missunderstanding here?
A sub menu of a main menu entry requires a child theme? Could you explain this to me?
This is a example, what i like to have:
The partial “nav-links.htm” you are talking, I assume you are talking about this one :
Now, what happen if they release an update and you made changes directly in the file ? you will loose it.
That’s why you need to create a child theme or to go your own way with your own theme.
I see. I didn’t mentioned, that i use my own theme and i used the file a generic example.
My question was not really answered: In general, a main navigation as we know will be made directly in the markup and not dynamically in the CMS?
Yeah your right. As long as you not use the plugin “StaticPages” or look at this github starter theme GitHub - artistro08/tailor-starter: A builder theme for October CMS v3.2 - v3.3 based on Bootstrap 5 to speed up website creation. With this you can create menus dynamically.
May you starter first with the documentation and read a bit. And may you need to ask more specific questions to get a better answer.
I’m actually reading and creating my first site. I’m still in the process to change my mindset to the way how October CMS works compared to the others
To be honest, it’s quite good, that the navigation is build directly via markup. The customer has less chance to mess up things
That depends on what agreement you have with the client. If you don’t give them a way to add submenu items, then you’re restricting how much they can do. Ideally you’d build a system that gives them enough flexibility to do what they want, in a way that doesn’t cause them to mess things up.
We tend to use the static pages plugin to give clients the freedom to create as many pages as they want, and also structure the navigation however they like.
When we do this… we pass the menu items through to a partial that renders the links. And inside that partial, loop through the list items, each time checking if the menu item has any children, If it does - render the same partial and pass it the children of the current item in the loop.
With some clever css you can create exactly what you’ve sent in the screen shot.
This might sound complicated in theory, or maybe I’ve not explained it well - but in practise it’s pretty simple.
My typical small business customer works like this:
- Wants to have most possible freedom and possibilities in a CMS.
- He attends a training and repeats every hour, that they want to add or change content very often.
- Then a half year later doing nothing they ask me again, how the CMS is working.
- I maintain the content as desired.
I will test the “static pages plugin” for sure. Thanks for the tips.