On this website we have various parent pages that have child pages.
I want each page (including the parent itself) to have a sidebar with a menu that shows all the child pages as well as the parent page itself at the top. And then the page content itself in the main area.
| parent page | content… |
| child page | content… |
| child page | content… |
| child page | content… |
The active page would have special style.
It seems to me that this could be some kind of template because all these pages will have the same sidebar menu with the content on the right. But since these are not archive pages, they are just regular pages, how do I “template” that? Or do I have to literally put the sidebar and things onto every page directly?
I know I could use something like a global template and insert that into each page, but I don’t want the client to have to fuss with the sidebar, I only want them editing the main content area and not have to worry about columns and accidentally messing with the sidebar etc. It also means if they want to create a new page, they would have to clone a previous one to make sure all the layout and sidebar and such is copied. I want to simplify that.
How would you go about this?
And another question, how would you create the menu itself? Can I make it so that it’s fully dynamic and can work when added to any page that may or may not have child pages? I was trying to make the menu using the Nav Nestable menu with a query loop, but the query loop needs me to select a specific parent ID, and further, the parent itself would be excluded in this case, but I always want the parent itself to be the top of the menu.
I can do all this pretty “manually”, but right now it seems like I have to do the colums and sidebar content physically on each page, and then each parent page needs its own sidebar menu setup so that I can set the right parent ID and make sure the parent itself is added to the top of the menu explicitly.
I want this to be more automatic and dynamic if possible.
Ideally it would work like in this sentence: “For any given page, if it has children, or it IS a child of another page, it should be shown with a sidebar that has a menu with all the child/sister pages and the parent page at the top.”
This feels like a template, but can I make a template that only shows for pages that happen to have child pages or belong to a parent page? And then make it so that the Bricks content for the page itself only handles the main content area and not the sidebar and layout columns?
What’s the best way to do this?