Item
An item in one of WHMCS's client area menus.
Menu item objects are the core building block to all programmable client area menus in WHMCS. They power dynamic navigation bars, sidebars, the client area home page's panels, and other UI elements. Individual menu items contain all of the components necessary to render it on a page including display labels, links, icons, and certain HTML elements.
Menu items are arranged in a tree structure. A menu item can have many child items and one parent item. The only item with no parent is the root menu item at the top of the tree. The root menu item has access to every child item in the menu tree.
Properties summary
Type | Property | Description | |
---|---|---|---|
protected | $badge | An optional badge displayed to the right of a menu item's label. | |
protected | $order | The order that a menu item appears in its hierarchy. | |
protected | $disabled | Tracks if a menu item is disabled. | |
protected | $icon | An optional icon displayed next to a menu item. | |
protected | $headingHtml | Raw HTML to be rendered in a menu body's heading area. | |
protected | $bodyHtml | Raw HTML to be rendered in a menu item's body area. | |
protected | $footerHtml | Raw HTML to be rendered in a menu item's footer area. |
Methods summary
Return Type | Method Name | Description | |
---|---|---|---|
string | getName() | Retrieve a menu item's name. | |
Item | setName(string $name) | Set a menu item's name. | |
string | getUri() | Retrieve a menu item's link target. | |
Item | setUri(string $uri) | Set a menu item's link target. | |
string | getLabel() | Retrieve a menu item's label. | |
Item | setLabel(string $label) | Set a menu item's label. | |
Item | addChild(Item|string $child, array $options = array()) | Add a child menu item. | |
Item|null | getChild(string $name) | Retrieve a menu item's child item by name. | |
Item | copy() | Make a copy of a menu item. | |
int | getLevel() | Retrieve a menu item's level in the menu tree. | |
Item | getRoot() | Retrieve the root menu item. | |
bool | isRoot() | Determine if a menu item is the root menu item. | |
Item|null | getParent() | Retrieve a menu item's parent item. | |
Item[] | getChildren() | Retrieve a menu item's child items. | |
Item | setChildren(array $children) | Set a menu item's child items. | |
Item | removeChild(Item|string $name) | Remove a menu item's child item. | |
bool | hasChildren() | Determine if a menu item has child items. | |
Item | setBadge(string $badge) | Set a menu item's badge. | |
string|false | getBadge() | Retrieve a menu item's badge, or false if the badge isn't set. | |
bool | hasBadge() | Determine if a menu item has a badge. | |
Item | setOrder(int $order) | Set a menu item's sort order. | |
int | getOrder() | Retrieve a menu item's sort order. | |
Item | setClass(string $cssClassString) | Set a menu item's css class definitions. | |
string | getClass() | Retrieve a menu item's css class definitions. | |
Item | disable() | Set a menu item as disabled. | |
Item | enable() | Set a menu item as enabled. | |
bool | isDisabled() | Retrieve if a menu item is disabled. | |
array | getExtras() | Retrieve a key/value pair of menu item extras. | |
mixed | getExtra(string $name, mixed $default = null) | Retrieve a menu item extra by name. | |
Item | setExtras(array $extras) | Set a menu item's extras. | |
Item | setExtra(string $name, mixed $value) | Set a menu item extra. | |
bool | isFontAwesomeIcon(string $icon) | Determine if a string describes a Font Awesome icon. | |
bool | isGlyphicon(string $icon) | Determine if a string describes a Glyphicon. | |
Item | setIcon(string $icon) | Set the icon displayed next to a menu item. | |
string | getIcon() | Retrieve full CSS classes of the icon displayed next to a menu item. | |
bool | hasIcon() | Determine if a menu item has an icon. | |
bool | hasFontAwesomeIcon() | Determine if a menu item's icon is a Font Awesome icon. | |
bool | hasGlyphicon() | Determine if a menu item's icon is a Glyphicon. | |
string | getBodyHtml() | Retrieve a menu item's body HTML content. | |
Item | setBodyHtml(string $html) | Set a menu item's body HTML content. | |
bool | hasBodyHtml() | Determine if a menu item has body HTML. | |
string | getFooterHtml() | Retrieve a menu item's footer HTML content. | |
Item | setFooterHtml(string $html) | Set a menu item's footer HTML content. | |
bool | hasFooterHtml() | Determine if a menu item has footer HTML. | |
string | getHeadingHtml() | Retrieve a menu item's heading HTML content. | |
Item | setHeadingHtml(string $html) | Set a menu item's heading HTML content. | |
bool | hasHeadingHtml() | Determine if a menu item has heading HTML. | |
string | getId() | Build a menu item's CSS id. | |
static Item | sort(Item $menu, bool $sortChildren = true) | Sort a menu item's children by their sort order then alphabetically by name. | |
Item | swapOrder(string $swapOrder) | Swap the order of the current menu item with another menu item's order. | |
Item | moveUp() | Move a menu item up in sorting order. | |
Item | moveDown() | Move a menu item down in sorting order. | |
Item | moveToFront() | Move a menu item to the beginning of the sorting order. | |
Item | moveToBack() | Move a menu item to the end of the sorting order. |
Details
string
getName ()
Retrieve a menu item's name.
Item
setName (string $name)
Set a menu item's name.
string
getUri ()
Retrieve a menu item's link target.
Item
setUri (string $uri)
Set a menu item's link target.
string
getLabel ()
Retrieve a menu item's label.
If the label is undefined then retrieve the menu item's name.
Item
setLabel (string $label)
Set a menu item's label.
Item|null
getChild (string $name)
Retrieve a menu item's child item by name.
Return null if the child isn't found.
Item
copy ()
Make a copy of a menu item.
int
getLevel ()
Retrieve a menu item's level in the menu tree.
The root menu item has level 0, its children have level 1, their children level 2, and so on.
Item
getRoot ()
Retrieve the root menu item.
bool
isRoot ()
Determine if a menu item is the root menu item.
Item|null
getParent ()
Retrieve a menu item's parent item.
Return null if the menu item is the root menu item and has no parent item.
Item[]
getChildren ()
Retrieve a menu item's child items.
Item
setChildren (array $children)
Set a menu item's child items.
bool
hasChildren ()
Determine if a menu item has child items.
Item
setBadge (string $badge)
Set a menu item's badge.
string|false
getBadge ()
Retrieve a menu item's badge, or false if the badge isn't set.
bool
hasBadge ()
Determine if a menu item has a badge.
Item
setOrder (int $order)
Set a menu item's sort order.
int
getOrder ()
Retrieve a menu item's sort order.
Item
setClass (string $cssClassString)
Set a menu item's css class definitions.
string
getClass ()
Retrieve a menu item's css class definitions.
Item
disable ()
Set a menu item as disabled.
Item
enable ()
Set a menu item as enabled.
bool
isDisabled ()
Retrieve if a menu item is disabled.
array
getExtras ()
Retrieve a key/value pair of menu item extras.
Extras store miscellaneous data in a menu item and may or may not be used for menu display.
mixed
getExtra (string $name, mixed $default = null)
Retrieve a menu item extra by name.
Extras store miscellaneous data in a menu item and may or may not be used for menu display.
Item
setExtras (array $extras)
Set a menu item's extras.
Extras store miscellaneous data in a menu item and may or may not be used for menu display.
Item
setExtra (string $name, mixed $value)
Set a menu item extra.
Extras store miscellaneous data in a menu item and may or may not be used for menu display.
protected bool
isFontAwesomeIcon (string $icon)
Determine if a string describes a Font Awesome icon.
Font Awesome icon CSS classes begin with "fa-".
protected bool
isGlyphicon (string $icon)
Determine if a string describes a Glyphicon.
Glyphicon icon CSS classes begin with "glyphicon-".
Item
setIcon (string $icon)
Set the icon displayed next to a menu item.
string
getIcon ()
Retrieve full CSS classes of the icon displayed next to a menu item.
bool
hasIcon ()
Determine if a menu item has an icon.
bool
hasFontAwesomeIcon ()
Determine if a menu item's icon is a Font Awesome icon.
bool
hasGlyphicon ()
Determine if a menu item's icon is a Glyphicon.
string
getBodyHtml ()
Retrieve a menu item's body HTML content.
Item
setBodyHtml (string $html)
Set a menu item's body HTML content.
bool
hasBodyHtml ()
Determine if a menu item has body HTML.
string
getFooterHtml ()
Retrieve a menu item's footer HTML content.
Item
setFooterHtml (string $html)
Set a menu item's footer HTML content.
bool
hasFooterHtml ()
Determine if a menu item has footer HTML.
string
getHeadingHtml ()
Retrieve a menu item's heading HTML content.
Item
setHeadingHtml (string $html)
Set a menu item's heading HTML content.
bool
hasHeadingHtml ()
Determine if a menu item has heading HTML.
string
getId ()
Build a menu item's CSS id.
A Menu item's CSS id is a hyphen delineated string of the snake_case representations of a menu item's name followed by its parent item's name until the menu root.
For example a menu with the structure:
- My Menu ** My Submenu
has the CSS ids:
- My_Menu ** My_Menu-My_Submenu
static Item
sort (Item $menu, bool $sortChildren = true)
Sort a menu item's children by their sort order then alphabetically by name.
A menu item's sorting order is defined in its "order" parameter, and is sorted in ascending order. If two menu items sort orders are the same then order them alphabetically by name.
protected Item
swapOrder (string $swapOrder)
Swap the order of the current menu item with another menu item's order.
Item
moveUp ()
Move a menu item up in sorting order.
Item
moveDown ()
Move a menu item down in sorting order.
Item
moveToFront ()
Move a menu item to the beginning of the sorting order.
Item
moveToBack ()
Move a menu item to the end of the sorting order.