I want to publish pages but I don’t want them to be placed in the menu. The only Option that I get is Menu Page and Not published. What is the deciding factor for this behavior?
Have you tried “unlisted”?
Edit: I believe it’s called “in review” in the panel. This should “publish” your page, but don’t add it to menu’s. But it depends on how you built your site really…
The naming
of these status is defined in /site/blueprints/default.yml
status:
draft: true
unlisted:
label: Hidden Page
text: The page is not listed in the main menu
listed:
label: Menu Page
text: The page is listed in the main menu
It’s just another name for listed pages. While Hidden
is just another name for listed.
Listed pages get a prepended number, unlisted pages don’t. If you want to prepend a number to a page but not include it in the menu, you have to manually exclude it from the menu.
But it all depends on your structure and how you create your menus.
By default, listed first level pages are included in the menu in the StarterKit.
Edit: Any page that is not a draft
is a “published” page; it is accessible for anyone who knows/guesses the URL, while draft
pages can only ever be accessed by logged-in users.
But this offers clients the possibility to move the position of pages/ menu items in the menu. I don’t want clients to do that. The order of menu items should be considered differently than by daily feelings of clients or accident. The control over the information architecture should not be automatically offered by the CMS.
I think it would be really nice to have the possibility to choose if the position of pages/ menu items stays fixed or is up to the client.
Can I somehow switch this behavior off?
You can disable sorting in your blueprints before you hand the project over to your clients by setting sortable: false
in your pages sections. Note that this is only relevant for manually sorted pages, pages sorted alphabetically or by date are sorted automatically anyway.
Another option is to disallow page sorting based on user role permissions in a user role blueprint:
permissions:
pages:
create: true
changeTemplate: false
changeTitle: true
changeSlug: true
delete: false
hide: true
sort: false
update: true
Also, you don’t have to rely on manual sorting for menus at all, you can build all menus via a pages or a structure field (see Menu builders | Kirby CMS).