[ 'variables' => [], ], ]; } /** * Variables for Views bootstrap grid templates. * * @param array $variables * An associative array containing: * - view: A View object. */ function template_preprocess_views_bootstrap_grid_views(&$variables) { $handler = $variables['view']->style_plugin; $options = $handler->options; $variables['attributes']['class'][] = 'row'; $variables['grid_padding'] = $options['grid_padding']; if ($options['grid_padding']) { $variables['attributes']['class'][] = 'grid-noppading'; } $variables['grid_justify'] = $options['grid_justify']; if ($options['grid_justify']) { $variables['attributes']['class'][] = 'justify-content-center'; } $variables['attributes']['class'][] = 'grid-wrapper'; $variables['grid_classes'] = views_bootstrap_grid_build_classes($options); $variables['grid_item'] = $options['grid_item']; if ($options['grid_item']) { $variables['attributes']['class'][] = 'grid'; } template_preprocess_views_view_unformatted($variables); } function views_bootstrap_grid_build_classes($options) { $css = array(); $devices = array( 'sm', 'md', 'lg' ); foreach ($devices as $device) { if ($options['sm']) { $css[] = 'col-' . $options['sm']; } if ($options[$device]) { $css[] = 'col-' . $device . '-' . $options[$device]; } } return $css; }