t('Bootstrap'), 'description' => t('Bootstrap settings.'), 'render region' => 'panels_bootstrap_layouts_style_region_render', 'settings form' => 'panels_bootstrap_layouts_style_region_settings_form', ); /** * Render region callback. * * @ingroup themeable */ function theme_panels_bootstrap_layouts_style_region_render($vars) { $display = $vars['display']; $panes = $vars['panes']; $settings = $vars['settings']; $layouts = array( 'bootstrap_twocol_stacked', 'bootstrap_threecol_stacked', ); if (in_array($display->layout, $layouts) && $panes) { $class = array('panel-panel', $vars['region_id']); if ($settings['column_size']) { if (empty($settings['column_type'])) { $settings['column_type'] = 'col-lg'; } $class[] = $settings['column_type'] . '-' . $settings['column_size']; } if ($settings['offset_type'] && $settings['offset_size']) { $class[] = $settings['offset_type'] . '-' . $settings['offset_size']; } $class = implode(' ', $class); $html = implode('', $panes); return "
$html
"; } } /** * Region settings form callback. */ function panels_bootstrap_layouts_style_region_settings_form($style_settings, $display, $pid, $type, $form_state) { $options = range(0, 12); $options[0] = t('-- None --'); $form['column_type'] = array( '#type' => 'select', '#title' => t('Сolumn type'), '#options' => array( 'col' => t('Tiny devices'), 'col-sm' => t('Small & medium devices'), 'col-lg' => t('Large devices'), ), '#default_value' => isset($style_settings['column_type']) ? $style_settings['column_type'] : 'col-lg', ); $form['column_size'] = array( '#type' => 'select', '#title' => t('Сolumn size'), '#options' => $options, '#default_value' => isset($style_settings['column_size']) ? $style_settings['column_size'] : _panels_bootstrap_layouts_get_default_column_size($display->layout, $pid), ); $form['offset_type'] = array( '#type' => 'select', '#title' => t('Offset type'), '#options' => array( 'col-offset' => t('Tiny devices'), 'col-sm-offset' => t('Small & medium devices'), 'col-lg-offset' => t('Large devices'), ), '#default_value' => isset($style_settings['offset_type']) ? $style_settings['offset_type'] : 'col-lg-offset', ); $form['offset_size'] = array( '#type' => 'select', '#title' => t('Offset size'), '#options' => $options, '#default_value' => isset($style_settings['offset_size']) ? $style_settings['offset_size'] : 0, ); return $form; } function _panels_bootstrap_layouts_get_default_column_size($layout, $pid) { if (in_array($pid, array('top', 'bottom'))) { return 12; } if ($layout == 'bootstrap_twocol_stacked') { return 6; } if ($layout == 'bootstrap_threecol_stacked') { return 4; } return 1; }