Define custom, hierarchical navigation menus
See original GitHub issueIs your proposal related to a problem?
Navigation is a critical part of content management/architecture. However, while Wagtail provides an excellent framework for defining and managing content types, there is little support for allowing content editors to work with site navigation.
Wagtail, confusingly, has a “Show in menus” checkbox when creating pages while there is no meaningful way to define or manage the menus.
Describe the solution you’d like
I want to define and modify one or more hierarchical navigation menus through the Wagtail Admin UI. For example, a developer might define the navigation menu identifiers or template region in advance to render navigation menus in the correct place.
Describe alternatives you’ve considered
I’ve used the wagtailmenus
plugin, which seems to no longer be maintained.
Additional context
Navigation is a first-class concern with popular CMS solutions like WordPress and Drupal.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:4
- Comments:8 (5 by maintainers)
Top GitHub Comments
We have been discussing this with some of the core team and there is agreement that it would be nice, long term, for Wagtail to provide more help with managing menus. However, that does not mean that there will be a focus for this to be built any time soon.
Menu management does seem like a pretty basic feature of most content management systems, and Wagtail’s
show_in_menus
makes it seem like Wagtail intends to have some support for generating menus.Here is the suggested way forward
show_in_menus
– in particular the fact people are expected to write a fair bit of code to use it. Maybe document how to hide it for sites that don’t use it.show_in_menus
along with recommending alternatives such aswagtailmenus
.show_in_menus
no longer gets added to the defaultPromotePanels
by default, this could be added back in for those that use it and may work to avoid confusion for new Wagtail developers alongside new Wagtail users who see the field and expect it to do something that has not been built.This is not really an answer along the lines of ‘yes this will be built’ but gives some options for smaller steps towards an eventual core implementation if that makes sense in the future.
We would love any feedback on the ideas above and of course anyone that wants to contribute towards these steps is welcome to.
I think if menus are on the roadmap now, but aren’t yet implemented, then hiding the ‘show_in_menu’ option and defaulting it to ‘True’ might be good enough for now.
I wonder if wagtail could take ownership of the wagtailmenus repo, like it has with wagtail-localize, because as per https://github.com/jazzband/wagtailmenus/issues/409 an a named lead maintainer has not been identified yet, even if Jazzband has nominally taken on the task.