Menu#
Menu is separated into 2 parts - main menu and submenu.
Main menu is created via django-sitetree library and is managed in Django admin.
Submenu contains following parts (order preserved):
pages on the same level as parent of the current page
child pages
dynamic items
Dynamic submenu is managed programmatically. If a view needs its
custom submenu you can create one quite simply through the
predefined view mixin richy.core.views.SubmenuViewMixin.
This mixin adds method get_submenu() that you need to
implement by yourself. The method must return a list of menu
items where each item is a dict with following properties:
url - menu item URL
title - menu item title
Whether each item is the currently active page (used for
highlighting in the rendered menu) is determined template-side
by matching the item’s url against the current request –
no view-side work is needed.
Here is a simple example that the News section uses: