/** * Implements hook_preprocess_page(). * * @see page.tpl.php */ function bootsmacss_preprocess_page(&$variables) { // Extending Drupal.settings with pathToTheme object. drupal_add_js('jQuery.extend(Drupal.settings, { "pathToTheme": "' . path_to_theme() . '" });', 'inline'); // Check whether given page is configured on Display Suite layout. $menu_object = menu_get_object(); if (module_exists('ds') && !empty($menu_object->type)) { $layout = ds_get_layout('node', $menu_object->type, 'full'); } $variables['is_ds_node'] = !empty($layout) ? TRUE : FALSE; // Layout grid logic. if (!$variables['is_ds_node']) { if (empty($variables['page']['sidebar_second'])) { $variables['content_wrapper_classes'] = 'col-sm-8 col-sm-offset-2'; } else { $variables['content_wrapper_classes'] = 'col-sm-8'; } } else { $variables['theme_hook_suggestions'][] = 'page__ds_node'; } }
/** * Add default classes to Display Suite regions if none are set. * * This approach was taken from Display Suite. * * @see zurb_foundation_theme_registry_alter() */ function zurb_foundation_entity_variables(&$vars) { // Only alter entities that have been rendered by Display Suite. if (isset($vars['rendered_by_ds'])) { // If Display Suite rendered this, it's safe to assume we have the arguments // necessary to grab the layout. $layout = ds_get_layout($vars['elements']['#entity_type'], $vars['elements']['#bundle'], $vars['elements']['#view_mode']); // Each layout has different regions, only set default classes if none of // them have custom classes. switch ($layout['layout']) { case 'zf_1col': if (empty($vars['ds_content_classes'])) { $vars['ds_content_classes'] = ' large-12'; $vars['classes_array'][] = 'row'; } break; case 'zf_2col': if (empty($vars['left_classes']) && empty($vars['right_classes'])) { $vars['left_classes'] = ' large-6'; $vars['right_classes'] = ' large-6'; $vars['classes_array'][] = 'row'; } break; case 'zf_2col_stacked': if (empty($vars['header_classes']) && empty($vars['left_classes']) && empty($vars['right_classes']) && empty($vars['footer_classes'])) { $vars['header_classes'] = ' large-12'; $vars['left_classes'] = ' large-6'; $vars['right_classes'] = ' large-6'; $vars['footer_classes'] = ' large-12'; $vars['classes_array'][] = 'row'; } break; case 'zf_2col_bricks': if (empty($vars['top_classes']) && empty($vars['above_left_classes']) && empty($vars['above_right_classes']) && empty($vars['middle_classes']) && empty($vars['below_left_classes']) && empty($vars['below_right_classes']) && empty($vars['bottom_classes'])) { $vars['top_classes'] = ' large-12'; $vars['above_left_classes'] = ' large-6'; $vars['above_right_classes'] = ' large-6'; $vars['middle_classes'] = ' large-12'; $vars['below_left_classes'] = ' large-6'; $vars['below_right_classes'] = ' large-6'; $vars['bottom_classes'] = ' large-12'; $vars['classes_array'][] = 'row'; } break; case 'zf_3col': if (empty($vars['left_classes']) && empty($vars['middle_classes']) && empty($vars['right_classes'])) { $vars['left_classes'] = ' large-4'; $vars['middle_classes'] = ' large-4'; $vars['right_classes'] = ' large-4'; $vars['classes_array'][] = 'row'; } break; case 'zf_3col_stacked': if (empty($vars['header_classes']) && empty($vars['left_classes']) && empty($vars['middle_classes']) && empty($vars['right_classes']) && empty($vars['footer_classes'])) { $vars['header_classes'] = ' large-12'; $vars['left_classes'] = ' large-4'; $vars['middle_classes'] = ' large-4'; $vars['right_classes'] = ' large-4'; $vars['footer_classes'] = ' large-12'; $vars['classes_array'][] = 'row'; } break; case 'zf_3col_bricks': if (empty($vars['top_classes']) && empty($vars['above_left_classes']) && empty($vars['above_middle_classes']) && empty($vars['above_right_classes']) && empty($vars['middle_classes']) && empty($vars['below_left_classes']) && empty($vars['below_middle_classes']) && empty($vars['below_right_classes']) && empty($vars['bottom_classes'])) { $vars['top_classes'] = ' large-12'; $vars['above_left_classes'] = ' large-4'; $vars['above_middle_classes'] = ' large-4'; $vars['above_right_classes'] = ' large-4'; $vars['middle_classes'] = ' large-12'; $vars['below_left_classes'] = ' large-4'; $vars['below_middle_classes'] = ' large-4'; $vars['below_right_classes'] = ' large-4'; $vars['bottom_classes'] = ' large-12'; $vars['classes_array'][] = 'row'; } break; case 'zf_3row': if (empty($vars['header_classes']) && empty($vars['ds_content_classes']) && empty($vars['footer_classes'])) { $vars['header_classes'] = ' large-12'; $vars['ds_content_classes'] = ' large-12'; $vars['footer_classes'] = ' large-12'; $vars['classes_array'][] = 'row'; } break; case 'zf_4col': if (empty($vars['first_classes']) && empty($vars['second_classes']) && empty($vars['third_classes']) && empty($vars['fourth_classes'])) { $vars['first_classes'] = ' large-3'; $vars['second_classes'] = ' large-3'; $vars['third_classes'] = ' large-3'; $vars['fourth_classes'] = ' large-3'; $vars['classes_array'][] = 'row'; } break; case 'zf_4col_stacked': if (empty($vars['header_classes']) && empty($vars['first_classes']) && empty($vars['second_classes']) && empty($vars['third_classes']) && empty($vars['fourth_classes']) && empty($vars['footer_classes'])) { $vars['header_classes'] = ' large-12'; $vars['first_classes'] = ' large-3'; $vars['second_classes'] = ' large-3'; $vars['third_classes'] = ' large-3'; $vars['fourth_classes'] = ' large-3'; $vars['footer_classes'] = ' large-12'; $vars['classes_array'][] = 'row'; } break; case 'zf_4col_bricks': if (empty($vars['top_classes']) && empty($vars['above_first_classes']) && empty($vars['above_second_classes']) && empty($vars['above_third_classes']) && empty($vars['above_fourth_classes']) && empty($vars['middle_classes']) && empty($vars['below_first_classes']) && empty($vars['below_second_classes']) && empty($vars['below_third_classes']) && empty($vars['below_fourth_classes']) && empty($vars['bottom_classes'])) { $vars['top_classes'] = ' large-12'; $vars['above_first_classes'] = ' large-3'; $vars['above_second_classes'] = ' large-3'; $vars['above_third_classes'] = ' large-3'; $vars['above_fourth_classes'] = ' large-3'; $vars['middle_classes'] = ' large-12'; $vars['below_first_classes'] = ' large-3'; $vars['below_second_classes'] = ' large-3'; $vars['below_third_classes'] = ' large-3'; $vars['below_fourth_classes'] = ' large-3'; $vars['bottom_classes'] = ' large-12'; $vars['classes_array'][] = 'row'; } break; } } }
/** * Implements hook_preprocess_page(). */ function europa_preprocess_page(&$variables) { // Small fix to maxe the link to the start page use the alias with language. $variables['front_page'] = url('<front>'); // Add information about the number of sidebars. if (!empty($variables['page']['sidebar_first']) && !empty($variables['page']['sidebar_second'])) { $variables['content_column_class'] = 'col-md-6'; } elseif (!empty($variables['page']['sidebar_first']) || !empty($variables['page']['sidebar_second'])) { $variables['content_column_class'] = 'col-md-9'; } else { $variables['content_column_class'] = 'col-md-12'; } // Set footer region column classes. if (!empty($variables['page']['footer_right'])) { $variables['footer_column_class'] = 'col-sm-8'; } else { $variables['footer_column_class'] = 'col-sm-12'; } $variables['page_logo_title'] = t('Home - @sitename', array('@sitename' => variable_get('site_name', 'European Commission'))); $node =& $variables['node']; if (isset($node)) { // Adding generic introduction field to be later rendered in page template. $variables['field_core_introduction'] = isset($node->field_core_introduction) ? field_view_field('node', $node, 'field_core_introduction', array('label' => 'hidden')) : NULL; // Check if Display Suite is handling node. if (module_exists('ds')) { $layout = ds_get_layout('node', $node->type, 'full'); if ($layout && isset($layout['is_nexteuropa']) && $layout['is_nexteuropa'] == TRUE) { // If our display suite layout has a header region. if (isset($layout['regions']['left_header'])) { // Move the header_bottom to the node. $variables['node']->header_bottom = $variables['page']['header_bottom']; unset($variables['page']['header_bottom']); } ctools_class_add($layout['layout']); if (isset($node->ds_switch) && $node->ds_switch != 'college') { $variables['node']->header_bottom_modifier = 'page-bottom-header--full-grey'; } // This disables message-printing on ALL page displays. $variables['show_messages'] = FALSE; // Add tabs to node object so we can put it in the DS template instead. if (isset($variables['tabs'])) { $node->local_tabs = drupal_render($variables['tabs']); } $variables['theme_hook_suggestions'][] = 'page__ds_node'; } } } }