interface MenuParentFormSelectorInterface (View source)

Defines an interface for menu selector form elements and menu link options.

Methods

array
getParentSelectOptions(string $id = '', array $menus = NULL, CacheableMetadata $cacheability = NULL)

Gets the options for a select element to choose a menu and parent.

array
parentSelectElement(string $menu_parent, string $id = '', array $menus = NULL)

Gets a form element to choose a menu and parent.

Details

array getParentSelectOptions(string $id = '', array $menus = NULL, CacheableMetadata $cacheability = NULL)

Gets the options for a select element to choose a menu and parent.

Parameters

string $id

Optional ID of a link plugin. This will exclude the link and its children from the select options.

array $menus

Optional array of menu names as keys and titles as values to limit the select options. If NULL, all menus will be included.

CacheableMetadata $cacheability

Optional cacheability metadata object, which will be populated based on the accessibility of the links and the cacheability of the links.

Return Value

array

Keyed array where the keys are contain a menu name and parent ID and the values are a menu name or link title indented by depth.

array parentSelectElement(string $menu_parent, string $id = '', array $menus = NULL)

Gets a form element to choose a menu and parent.

The specific type of form element will vary depending on the implementation, but callers will normally need to set the #title for the element.

Parameters

string $menu_parent

A menu name and parent ID concatenated with a ':' character to use as the default value.

string $id

(optional) ID of a link plugin. This will exclude the link and its children from being selected.

array $menus

(optional) Array of menu names as keys and titles as values to limit the values that may be selected. If NULL, all menus will be included.

Return Value

array

A form element to choose a parent, or an empty array if no possible parents exist for the given parameters. The resulting form value will be a single string containing the chosen menu name and parent ID separated by a ':' character.