My question is, what would be a good way to set a page as an exception? It would still appear in the menu, just the content would be on its own page, not be in the one-page.
If it is just one static Page you can use $pages->not($args). If you want the user to be able to set it via the panel you can use filterBy - then you can add a checkbox to your blueprint and filter if it is set or not. (As you just edited your post as I type - yes, something like this ;-))
As @Pascalmh already said, you can use not() to exclude a single page/an array of pages/a collection from a page collection. You don’t have to use the filter with callback but you can use filterBy() to filter by template:
Your solution was perfectly alright, just maybe a bit too complicated .
Instead of filtering by template, I’d actually prefer intendedTemplate (i.e. the template that should be used according to the content file name) in case the template does not exist.
Yes, there is a folder ‘nieuws’ with a number prepended, but there is also a folder of the same name without a number. Pls remove the folder without the number, that should then solve the issue.
You can’t have two folders with the same name, from a Kirby perspective, “08-nieuws” and “nieuws” would result in the same url, which is not possible.