class MenuOptionsHelper in Views Menu Node Children Filter 8
Same name and namespace in other branches
- 8.2 src/MenuOptionsHelper.php \Drupal\views_menu_children_filter\MenuOptionsHelper
- 3.0.x src/MenuOptionsHelper.php \Drupal\views_menu_children_filter\MenuOptionsHelper
Provides helper classes for getting an options array of menus
@package Drupal\views_menu_children_filter
Hierarchy
- class \Drupal\views_menu_children_filter\MenuOptionsHelper
Expanded class hierarchy of MenuOptionsHelper
1 file declares its use of MenuOptionsHelper
- MenuChildren.php in src/
Plugin/ views/ argument/ MenuChildren.php
File
- src/
MenuOptionsHelper.php, line 13
Namespace
Drupal\views_menu_children_filterView source
class MenuOptionsHelper {
/**
* Gets an array of all menu names.
*
* @return array
*/
public static function getMenuNames() {
$menus = [];
/** @var EntityInterface $menu */
foreach (Menu::loadMultiple() as $menu) {
$menus[$menu
->id()] = $menu
->label();
}
asort($menus);
return $menus;
}
/**
* Gets a list of menus to display as select options.
*
* @return array
*/
public static function getMenuOptions() {
return [
'' => t('-- Select menu --'),
] + self::getMenuNames();
}
/**
* Gets a select field definition for selecting target menus.
*
* @param array $defaultValue
* @return array
*/
public static function getSelectField($defaultValue = []) {
return [
'#type' => 'select',
'#title' => t('Target menus'),
'#description' => t('Select the menu(s) to scan for child entities. If no menu is selected, the first matching menu will be used.'),
'#multiple' => TRUE,
'#options' => self::getMenuOptions(),
'#default_value' => $defaultValue,
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
MenuOptionsHelper:: |
public static | function | Gets an array of all menu names. | |
MenuOptionsHelper:: |
public static | function | Gets a list of menus to display as select options. | |
MenuOptionsHelper:: |
public static | function | Gets a select field definition for selecting target menus. |