function ui_patterns_layouts_layout_alter in UI Patterns 8
Implements hook_layout_alter().
File
- modules/
ui_patterns_layouts/ ui_patterns_layouts.module, line 18 - Contains module file.
Code
function ui_patterns_layouts_layout_alter(&$definitions) {
/** @var \Drupal\ui_patterns\Definition\PatternDefinition[] $pattern_definitions */
// @todo: Use layout deriver instead.
// @link https://github.com/nuvoleweb/ui_patterns/issues/94
foreach (UiPatterns::getPatternDefinitions() as $pattern_definition) {
$definition = [
'label' => $pattern_definition
->getLabel(),
'theme' => $pattern_definition
->getThemeHook(),
'provider' => $pattern_definition
->getProvider(),
'category' => 'Patterns',
'class' => '\\Drupal\\ui_patterns_layouts\\Plugin\\Layout\\PatternLayout',
'pattern' => $pattern_definition
->id(),
'template' => 'pattern-' . $pattern_definition
->id(),
];
foreach ($pattern_definition
->getFields() as $field) {
$definition['regions'][$field
->getName()]['label'] = $field
->getLabel();
}
$definitions['pattern_' . $pattern_definition
->id()] = new LayoutDefinition($definition);
}
}