mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 20:40:17 +02:00
28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
# Menu Hooks
|
|
|
|
The menu hooks allow you to dynamically specify menu items from your plugin app or service. To achieve this you should subclass or instantiate the `services.hooks.MenuItemHook` class and then register the menu item with one of the hooks.
|
|
|
|
To register a MenuItemHook class you would do the following:
|
|
|
|
@hooks.register('menu_item_hook')
|
|
def register_menu():
|
|
return MenuItemHook('Example Item', 'glyphicon glyphicon-heart', 'example_url_name', 150)
|
|
|
|
|
|
The `MenuItemHook` class specifies some parameters/instance variables required for menu item display.
|
|
|
|
`MenuItemHook(text, classes, url_name, order=None)`
|
|
|
|
#### text
|
|
The text value of the link
|
|
#### classes
|
|
The classes that should be applied to the bootstrap menu item icon
|
|
#### url_name
|
|
The name of the Django URL to use
|
|
#### order
|
|
An integer which specifies the order of the menu item, lowest to highest
|
|
#### navactive
|
|
A list of views or namespaces the link should be highlighted on. See [django-navhelper](https://github.com/geelweb/django-navhelper#navactive) for usage. Defaults to the supplied `url_name`.
|
|
|
|
If you cannot get the menu item to look the way you wish, you are free to subclass and override the default render function and the template used.
|