verticalNavigation
Last modified by Vincent Massol on 2023/02/20 09:35
- Summary
- Generates a vertical menu from an object describing the categories
- Usage
#** * Generates a vertical menu from an object describing the categories * * Expected format of the object: * menu = vector of items * item = map with the following fields: * 'id' : mandatory * 'name' : the text displayed for the corresponding menu item; * optional, defaults to * $services.localization.render("$!{translationPrefix}${item.id}") * 'url' : the "action" of the menu item; optional, defaults to # * 'cssClass' : a specific css class for the menu item for custom * styling; optional, defaults to '' * 'children' : vector of items, allowing to recursively define submenus * * @param $menu the menu object, in the format described above * @param $options a map of options, where the following entries are currently used: * 'translationPrefix' : the translation prefix added to the id of each * item, in order to generate the name; ignored for items whose * name is specified * 'crtItemId': identifier of the current menu item (for differential styling) * 'cssClass' : specific css class for this menu *# #macro(verticalNavigation $menu $options) #** * Generates a vertical menu item from an object (a map) * * Expected format: * item = map with the following fields: * 'id' : mandatory * 'name' : the text displayed for the corresponding menu item; * optional, defaults to * $services.localization.render("$!{translationPrefix}${item.id}") * 'url' : the "action" of the menu item; optional * 'cssClass' : a specific css class for the menu item for custom * styling; optional, defaults to '' * 'children' : vector of items, allowing to recursively define submenus * * @param $item the menu item object, in the format described above * @param $level the current level of the item, of the form '\*+'; the number of * stars indicates the depth of the item in the menu * @param $options a map of options, where the following entries are currently used: * 'translationPrefix' : the translation prefix added to the id of each * item, in order to generate the name; ignored for items whose * name is specified * 'crtItemId': identifier of the current menu item (for differential styling) *# #macro(verticalNavigationItem $item $level $options)- Since
- Unknown, but a long time ago
- Example
{{velocity}} #set($adminMenu = [ { 'id' : 'lf', 'icon': 'columns', 'displayBeforeCategory': 'content', 'children': [ {'id' : 'Themes', 'perSpace' : true, 'order' : 100}, {'id' : 'Panels.PanelWizard', 'perSpace' : true, 'order' : 300}, {'id' : 'Presentation', 'perSpace' : true, 'order' : 600} ] }, { 'id' : 'usersgroups', 'icon': 'group', 'displayBeforeCategory': 'extensionmanager', 'children': [ {'id' : 'Users', 'order' : 100}, {'id' : 'Groups', 'order' : 200}, {'id' : 'Rights', 'perSpace' : false, 'order' : 300}, {'id' : 'PageAndChildrenRights', 'perSpace' : true, 'order' : 300, 'global': false}, {'id' : 'PageRights', 'perSpace' : true, 'order' : 350, 'global': false}, {'id' : 'UserProfile', 'order' : 400}, {'id' : 'Registration', 'order' : 500} ] }, { 'id' : 'other', 'icon': 'wrench', 'children' : [] } ]) #verticalNavigation($adminMenu { 'id': 'administration-menu', 'cssClass': 'admin-menu' }) {{/velocity}}Result:
