From e1bdc75ab7fa7400c3d055f193262acb88e03190 Mon Sep 17 00:00:00 2001 From: Eric Bremner <ebremner@uwaterloo.ca> Date: Tue, 25 Apr 2023 14:10:43 -0400 Subject: [PATCH] ISTWCMS-6247: fixing section spacing --- layouts/layout--uw-1-col.html.twig | 13 +++++------ layouts/layout--uw-2-col.html.twig | 3 --- layouts/layout--uw-3-col.html.twig | 3 --- layouts/layout--uw-4-col.html.twig | 3 --- layouts/layout--uw-5-col.html.twig | 3 --- layouts/layout--uw-inverted-l-left.html.twig | 3 --- layouts/layout--uw-inverted-l-right.html.twig | 3 --- uw_cfg_common.module | 22 +++++++++++++++++++ 8 files changed, 27 insertions(+), 26 deletions(-) diff --git a/layouts/layout--uw-1-col.html.twig b/layouts/layout--uw-1-col.html.twig index 7293cf12..da581e5a 100644 --- a/layouts/layout--uw-1-col.html.twig +++ b/layouts/layout--uw-1-col.html.twig @@ -1,16 +1,13 @@ {% set classes = [ - 'uw-section-spacing--default', - 'uw-section-separator--none', - 'uw-column-separator--none', 'layout', 'layout--uw-1-col', settings.column_class, ] %} -<section{{ attributes.addClass(classes) }}> - <div {{ region_attributes.first.addClass('layout__region', 'layout__region--first') }}> - {{ content.first }} - </div> -</section> +{% include '@layouts/layout/layout--1-col/layout--1-col.twig' with { + 'classes': classes, + 'content': content +} %} + diff --git a/layouts/layout--uw-2-col.html.twig b/layouts/layout--uw-2-col.html.twig index 599e1e46..df321871 100644 --- a/layouts/layout--uw-2-col.html.twig +++ b/layouts/layout--uw-2-col.html.twig @@ -1,8 +1,5 @@ {% set classes = [ - 'uw-section-spacing--default', - 'uw-section-separator--none', - 'uw-column-separator--none', 'layout', 'layout--uw-2-col', settings.column_class, diff --git a/layouts/layout--uw-3-col.html.twig b/layouts/layout--uw-3-col.html.twig index d6488cb2..280ecd8e 100644 --- a/layouts/layout--uw-3-col.html.twig +++ b/layouts/layout--uw-3-col.html.twig @@ -1,8 +1,5 @@ {% set classes = [ - 'uw-section-spacing--default', - 'uw-section-separator--none', - 'uw-column-separator--none', 'layout', 'layout--uw-3-col', settings.column_class, diff --git a/layouts/layout--uw-4-col.html.twig b/layouts/layout--uw-4-col.html.twig index b3b9ab1d..d099378c 100644 --- a/layouts/layout--uw-4-col.html.twig +++ b/layouts/layout--uw-4-col.html.twig @@ -1,8 +1,5 @@ {% set classes = [ - 'uw-section-spacing--default', - 'uw-section-separator--none', - 'uw-column-separator--none', 'layout', 'layout--uw-4-col', settings.column_class, diff --git a/layouts/layout--uw-5-col.html.twig b/layouts/layout--uw-5-col.html.twig index bcd94f69..15bee1a9 100644 --- a/layouts/layout--uw-5-col.html.twig +++ b/layouts/layout--uw-5-col.html.twig @@ -1,8 +1,5 @@ {% set classes = [ - 'uw-section-spacing--default', - 'uw-section-separator--none', - 'uw-column-separator--none', 'layout', 'layout--uw-5-col', settings.column_class, diff --git a/layouts/layout--uw-inverted-l-left.html.twig b/layouts/layout--uw-inverted-l-left.html.twig index b1f74199..c833aea5 100644 --- a/layouts/layout--uw-inverted-l-left.html.twig +++ b/layouts/layout--uw-inverted-l-left.html.twig @@ -1,8 +1,5 @@ {% set classes = [ - 'uw-section-spacing--default', - 'uw-section-separator--none', - 'uw-column-separator--none', 'layout', 'layout--uw-inverted-l-left', settings.column_class, diff --git a/layouts/layout--uw-inverted-l-right.html.twig b/layouts/layout--uw-inverted-l-right.html.twig index 323bfec9..0bfd50c5 100644 --- a/layouts/layout--uw-inverted-l-right.html.twig +++ b/layouts/layout--uw-inverted-l-right.html.twig @@ -1,8 +1,5 @@ {% set classes = [ - 'uw-section-spacing--default', - 'uw-section-separator--none', - 'uw-column-separator--none', 'layout', 'layout--uw-inverted-l-right', settings.column_class, diff --git a/uw_cfg_common.module b/uw_cfg_common.module index a0cabd3a..ddd33b38 100644 --- a/uw_cfg_common.module +++ b/uw_cfg_common.module @@ -1841,6 +1841,28 @@ function uw_cfg_common_field_widget_single_element_link_default_form_alter(array $element['uri']['#element_validate'][] = '_uw_cfg_common_uw_link_validator'; } +/** + * Implements template_preprocess_layout. + */ +function uw_cfg_common_preprocess_layout(&$variables) { + + // Classes to check for. + $classes['uw-section-spacing'] = 'uw-section-spacing--default'; + $classes['uw-section-separator'] = 'uw-section-separator--none'; + $classes['uw-column-separator'] = 'uw-column-separator--none'; + + // Step through each of the classes and see if we need to + // add it to the layout. + foreach ($classes as $needle => $class) { + + // If there is no class for section spacing, add it + // to the layout classes. + if (empty(preg_grep('/' . $needle . '/i', $variables['attributes']['class']))) { + $variables['attributes']['class'][] = $class; + } + } +} + /** * Link uri field validation function. */ -- GitLab