public static function PatternLayoutBuilder::processLayoutBuilderRegions in UI Patterns Layout Builder 8
Process layout builder regions.
Layout builder adds foreach region an renderable array after the pattern is built. So reassign the region to fields.
Parameters
array $element: Render array.
Return value
array Render array.
File
- src/
Element/ PatternLayoutBuilder.php, line 34
Class
- PatternLayoutBuilder
- Renders a pattern element.
Namespace
Drupal\ui_patterns_layout_builder\ElementCode
public static function processLayoutBuilderRegions(array $element) {
$definiton = UiPatterns::getPatternDefinition($element['#id']);
if ($definiton != NULL) {
foreach (Element::children($element) as $key) {
if ($definiton
->hasField($key)) {
$region_children = Element::children($element[$key]);
$region_properties = Element::properties($element[$key]);
if (isset($element['#' . $key]) && is_string($element['#' . $key])) {
continue;
}
foreach ($region_children as $region_key) {
$element['#' . $key][$region_key] = $element[$key][$region_key];
}
foreach ($region_properties as $property_key) {
if ($property_key === '#attributes') {
$element['#region_attributes'][$key] = new Attribute($element[$key][$property_key]);
}
}
// Disabled unset region key. Region Used in quick edit.
// unset($element[$key]);.
}
}
}
return $element;
}