MenuOptionsHelper.php in Views Menu Node Children Filter 8
File
src/MenuOptionsHelper.php
View source
<?php
namespace Drupal\views_menu_children_filter;
use Drupal\Core\Entity\EntityInterface;
use Drupal\system\Entity\Menu;
class MenuOptionsHelper {
public static function getMenuNames() {
$menus = [];
foreach (Menu::loadMultiple() as $menu) {
$menus[$menu
->id()] = $menu
->label();
}
asort($menus);
return $menus;
}
public static function getMenuOptions() {
return [
'' => t('-- Select menu --'),
] + self::getMenuNames();
}
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,
];
}
}