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): 1. pages on the same level as parent of the current page 2. child pages 3. 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: .. literalinclude:: ../../../../../app/app/richy/shares/views.py :pyobject: ShareChildrenSubmenuViewMixin.get_submenu