W3cubDocs

/Drupal 8

public static function RenderElement::processGroup

public static RenderElement::processGroup(&$element, FormStateInterface $form_state, &$complete_form)

Arranges elements into groups.

This method is useful for non-input elements that can be used in and outside the context of a form.

Parameters

array $element: An associative array containing the properties and children of the element. Note that $element must be taken by reference here, so processed child elements are taken over into $form_state.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

array $complete_form: The complete form structure.

Return value

array The processed element.

File

core/lib/Drupal/Core/Render/Element/RenderElement.php, line 435

Class

RenderElement
Provides a base class for render element plugins.

Namespace

Drupal\Core\Render\Element

Code

public static function processGroup(&$element, FormStateInterface $form_state, &$complete_form) {
  $parents = implode('][', $element['#parents']);

  // Each details element forms a new group. The #type 'vertical_tabs' basically
  // only injects a new details element.
  $groups = &$form_state->getGroups();
  $groups[$parents]['#group_exists'] = TRUE;
  $element['#groups'] = &$groups;

  // Process vertical tabs group member details elements.
  if (isset($element['#group'])) {
    // Add this details element to the defined group (by reference).
    $group = $element['#group'];
    $groups[$group][] = &$element;
  }

  return $element;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Render!Element!RenderElement.php/function/RenderElement::processGroup/8.1.x