AbstractMenu

Menu class

abstract
since

1.5

package

Joomla CMS

Methods

__construct

Class constructor

__construct(mixed||string|int options = []) : 
since

1.5

Arguments

options

array<string|int, mixed>An array of configuration options.

Response

mixed

__get

Magic getter for the user object. Returns the injected one if any, or the current one if none.

__get( propName) : \Joomla\CMS\User\User|null

Using a magic getter to preserve B/C when we stopped storing the user object upon construction of the menu object. As the user property is not initialized anymore, this getter ensures any class extending this one can still use $instance->user and get a proper value.

since

3.9.26

Arguments

propName

stringName of the missing or protected property.

Response

User|null

authorise

Method to check Menu object authorization against an access control object and optionally an access extension object

authorise( id) : 
since

1.5

Arguments

id

intThe menu id

Response

bool

getActive

Get menu item by id.

getActive() : \Joomla\CMS\Menu\MenuItem|null
since

1.5

Response

MenuItem|nullThe item object if an active menu item has been set or null

getDefault

Get the default item by language code.

getDefault( language = '*') : \Joomla\CMS\Menu\MenuItem|null
since

1.5

Arguments

language

stringThe language code, default value of * means all.

Response

MenuItem|nullThe item object or null when not found for given language

getInstance

Returns a Menu object

getInstance( client, mixed||string|int options = []) : \Joomla\CMS\Menu\AbstractMenu
static deprecated
since

1.5

throws

Exception

deprecated

4.3 will be removed in 6.0 Use the MenuFactoryInterface from the container instead Example: Factory::getContainer()->get(MenuFactoryInterface::class)->createMenu($client, $options)

Arguments

client

stringThe name of the client

options

array<string|int, mixed>An associative array of options

Response

AbstractMenuA menu object.

getItem

Get menu item by id

getItem( id) : \Joomla\CMS\Menu\MenuItem|null
since

1.5

Arguments

id

intThe item id

Response

MenuItem|nullThe item object if the ID exists or null if not found

getItems

Gets menu items by attribute

getItems( attributes,  values,  firstonly = false) : \Joomla\CMS\Menu\MenuItem|\Joomla\CMS\Menu\MenuItem[]
since

1.5

Arguments

attributes

mixedThe field name(s).

values

mixedThe value(s) of the field. If an array, need to match field names each attribute may have multiple values to lookup for.

firstonly

boolIf true, only returns the first item found

Response

MenuItem|array<string|int, MenuItem>An array of menu item objects or a single object if the $firstonly parameter is true

getMenu

Getter for the menu array

getMenu() : \Joomla\CMS\Menu\MenuItem||string|int
since

1.5

Response

array<string|int, MenuItem>

getParams

Gets the parameter object for a certain menu item

getParams( id) : \Joomla\Registry\Registry
since

1.5

Arguments

id

intThe item id

Response

Registry

getUser

Internal getter for the user. Returns the injected one if any, or the current one if none.

getUser() : \Joomla\CMS\User\User
since

3.9.26

Response

User

load

Loads the menu items

load() : mixed||string|int
abstract
since

1.5

Response

array<string|int, mixed>

setActive

Set the default item by id

setActive( id) : \Joomla\CMS\Menu\MenuItem|null
since

1.5

Arguments

id

intThe item id

Response

MenuItem|nullThe menu item representing the given ID if present or null otherwise

setDefault

Set the default item by id and language code.

setDefault( id,  language = '*') : 
since

1.5

Arguments

id

intThe menu item id.

language

stringThe language code (since 1.6).

Response

boolTrue if a menu item with the given ID exists

setUser

Setter for the current user used to build menu.

setUser(\Joomla\CMS\User\User user) : 
since

3.9.26

Arguments

user

UserThe new user to set.

Response

void

Properties

items

Array to hold the menu items

since

4.0.0

Type(s)

array<string|int, MenuItem>

default

Identifier of the default menu item. Key of the array is the language.

since

4.0.0

Type(s)

array<string|int, int>

active

Identifier of the active menu item

since

4.0.0

Type(s)

int

instances

Menu instances container.

static deprecated
since

1.7

deprecated

4.3 will be removed in 6.0 Use the MenuFactoryInterface from the container instead Example: Factory::getContainer()->get(MenuFactoryInterface::class)->createMenu($client, $options)

Type(s)

array<string|int, AbstractMenu>

storedUser

User object to check access levels for

since

3.9.26

Type(s)

User

itemsLoaded

Flag for checking if the menu items have been loaded

since

4.0.0

Type(s)

bool