You are here

class MenuOptionsHelper in Views Menu Node Children Filter 8.2

Same name and namespace in other branches
  1. 8 src/MenuOptionsHelper.php \Drupal\views_menu_children_filter\MenuOptionsHelper
  2. 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

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_filter
View 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

Namesort descending Modifiers Type Description Overrides
MenuOptionsHelper::getMenuNames public static function Gets an array of all menu names.
MenuOptionsHelper::getMenuOptions public static function Gets a list of menus to display as select options.
MenuOptionsHelper::getSelectField public static function Gets a select field definition for selecting target menus.