Skip to content
Snippets Groups Projects
Commit 2a03ee0d authored by Fabien Leroux's avatar Fabien Leroux
Browse files

Add temporary hook to allow themes to update the layout styles.

parent fd3c7b6b
No related branches found
No related tags found
No related merge requests found
......@@ -185,8 +185,9 @@ function a12s_layout_preprocess_paragraph(array &$variables): void {
$layoutId = $paragraph->getBehaviorSetting('layout_paragraphs', 'layout');
if ($layoutId) {
$displayOptions = $paragraph->getBehaviorSetting('layout_paragraphs', ['config', 'display_options'], []);
DisplayTemplatePluginManager::preprocessVariables('layout:' . $layoutId, 'paragraph', $displayOptions, $variables);
$config = $paragraph->getBehaviorSetting('layout_paragraphs', 'config', []);
DisplayTemplatePluginManager::preprocessVariables('layout:' . $layoutId, 'paragraph', $config['display_options'] ?? [], $variables);
// @todo add module and theme alter as in a12s_layout_preprocess_layout()?
}
}
......@@ -221,8 +222,19 @@ function a12s_layout_preprocess_layout(array &$variables): void {
}
if ($variables['layout'] instanceof LayoutDefinition) {
$displayOptions = $variables['settings']['display_options'] ?? [];
$config = $variables['settings'] ?? [];
$displayOptions = $config['display_options'] ?? [];
DisplayTemplatePluginManager::preprocessVariables('layout:' . $variables['layout']->id(), 'layout', $displayOptions, $variables);
// @todo find a better way to manipulate variables and layouts...
// Allow modules and themes to change the processed variables.
$context = [
'layout_id' => $variables['layout']->id(),
'config' => $config,
];
\Drupal::moduleHandler()->alter('a12s_layout_layout_variables', $variables, $context);
\Drupal::theme()->alter('a12s_layout_layout_variables', $variables, $context);
}
}
......
......
......@@ -51,8 +51,12 @@ class GridLayout extends DisplayOptionsSetPluginBase {
return $form;
}
/* @todo manage column_breakpoint
function preprocessVariables(array &$variables, array $configuration = [])
function preprocessVariables(array &$variables, array $configuration = []): void {
parent::preprocessVariables($variables, $configuration);
... */
if (!empty($configuration['column_breakpoint']) && $configuration['column_breakpoint'] !== '_all') {
$this->addClasses($variables['attributes'], 'column-breakpoint-' . $configuration['column_breakpoint']);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment