You are here

public static function Vefl::getLayoutOptions in Views exposed form layout 8

Same name and namespace in other branches
  1. 8.3 src/Vefl.php \Drupal\vefl\Vefl::getLayoutOptions()
  2. 8.2 src/Vefl.php \Drupal\vefl\Vefl::getLayoutOptions()

Gets Display Suite layouts.

1 call to Vefl::getLayoutOptions()
VeflBasic::buildOptionsForm in src/Plugin/views/exposed_form/VeflBasic.php
Provide a form to edit options for this plugin.

File

src/Vefl.php, line 28

Class

Vefl
Helper class that holds all the main Display Suite helper functions.

Namespace

Drupal\vefl

Code

public static function getLayoutOptions($layouts = []) {
  if (empty($layouts)) {
    $layouts = Vefl::getLayouts();
  }

  // Converts layouts array to options.
  $layout_options = [];
  foreach ($layouts as $key => $layout_definition) {
    $optgroup = t('Other');

    // Create new layout option group.
    if (!empty($layout_definition['category'])) {
      $optgroup = (string) $layout_definition['category'];
    }
    if (!isset($layout_options[$optgroup])) {
      $layout_options[$optgroup] = [];
    }

    // Stack the layout.
    $layout_options[$optgroup][$key] = $layout_definition['label'];
  }

  // If there is only one $optgroup, move it to the root.
  if (count($layout_options) < 2) {
    $layout_options = reset($layout_options);
  }
  return $layout_options;
}