function _ds_ds_layout_info in Display Suite 7.2
Same name and namespace in other branches
- 7 ds.registry.inc \_ds_ds_layout_info()
Implements hook_ds_layout_info().
1 call to _ds_ds_layout_info()
- ds_ds_layout_info in ./
ds.module - Implements hook_ds_layout_info().
File
- includes/
ds.registry.inc, line 362 - Registry file for Display Suite.
Code
function _ds_ds_layout_info() {
$path = drupal_get_path('module', 'ds');
$layouts = array(
'ds_1col' => array(
'label' => t('One column'),
'path' => $path . '/layouts/ds_1col',
'regions' => array(
'ds_content' => t('Content'),
),
'image' => TRUE,
),
'ds_1col_wrapper' => array(
'label' => t('One column + wrapper'),
'path' => $path . '/layouts/ds_1col_wrapper',
'regions' => array(
'ds_content' => t('Content'),
),
'image' => TRUE,
),
'ds_2col' => array(
'label' => t('Two column'),
'path' => $path . '/layouts/ds_2col',
'regions' => array(
'left' => t('Left'),
'right' => t('Right'),
),
'css' => TRUE,
'image' => TRUE,
),
'ds_2col_fluid' => array(
'label' => t('Fluid two column'),
'path' => $path . '/layouts/ds_2col_fluid',
'regions' => array(
'left' => t('Left'),
'right' => t('Right'),
),
'css' => TRUE,
'image' => TRUE,
),
'ds_2col_stacked' => array(
'label' => t('Two column stacked'),
'path' => $path . '/layouts/ds_2col_stacked',
'regions' => array(
'header' => t('Header'),
'left' => t('Left'),
'right' => t('Right'),
'footer' => t('Footer'),
),
'css' => TRUE,
'image' => TRUE,
),
'ds_2col_stacked_fluid' => array(
'label' => t('Fluid two column stacked'),
'path' => $path . '/layouts/ds_2col_stacked_fluid',
'regions' => array(
'header' => t('Header'),
'left' => t('Left'),
'right' => t('Right'),
'footer' => t('Footer'),
),
'css' => TRUE,
'image' => TRUE,
),
'ds_3col' => array(
'label' => t('Three column - 25/50/25'),
'path' => $path . '/layouts/ds_3col',
'regions' => array(
'left' => t('Left'),
'middle' => t('Middle'),
'right' => t('Right'),
),
'css' => TRUE,
'image' => TRUE,
),
'ds_3col_equal_width' => array(
'label' => t('Three column - equal width'),
'path' => $path . '/layouts/ds_3col_equal_width',
'regions' => array(
'left' => t('Left'),
'middle' => t('Middle'),
'right' => t('Right'),
),
'css' => TRUE,
'image' => TRUE,
),
'ds_3col_stacked' => array(
'label' => t('Three column stacked - 25/50/25'),
'path' => $path . '/layouts/ds_3col_stacked',
'regions' => array(
'header' => t('Header'),
'left' => t('Left'),
'middle' => t('Middle'),
'right' => t('Right'),
'footer' => t('Footer'),
),
'css' => TRUE,
'image' => TRUE,
),
'ds_3col_stacked_fluid' => array(
'label' => t('Fluid three column stacked - 25/50/25'),
'path' => $path . '/layouts/ds_3col_stacked_fluid',
'regions' => array(
'header' => t('Header'),
'left' => t('Left'),
'middle' => t('Middle'),
'right' => t('Right'),
'footer' => t('Footer'),
),
'css' => TRUE,
'image' => TRUE,
),
'ds_3col_stacked_equal_width' => array(
'label' => t('Three column stacked - equal width'),
'path' => $path . '/layouts/ds_3col_stacked_equal_width',
'regions' => array(
'header' => t('Header'),
'left' => t('Left'),
'middle' => t('Middle'),
'right' => t('Right'),
'footer' => t('Footer'),
),
'css' => TRUE,
'image' => TRUE,
),
'ds_4col' => array(
'label' => t('Four column - equal width'),
'path' => $path . '/layouts/ds_4col',
'regions' => array(
'first' => t('First'),
'second' => t('Second'),
'third' => t('Third'),
'fourth' => t('Fourth'),
),
'css' => TRUE,
'image' => TRUE,
),
'ds_reset' => array(
'label' => t('Reset'),
'path' => $path . '/layouts/ds_reset',
'regions' => array(
'ds_content' => t('Content'),
),
'image' => TRUE,
),
);
// Support for panels.
if (module_exists('panels')) {
ctools_include('plugins', 'panels');
$panel_layouts = panels_get_layouts();
foreach ($panel_layouts as $key => $layout) {
// The easy ones.
if (isset($layout['regions'])) {
$layouts['panels-' . $key] = array(
'label' => $layout['title'],
'path' => $layout['path'],
'module' => 'panels',
// We need the Panels plugin info array to correctly include the
// layout and its CSS files later on.
'panels' => $layout,
'flexible' => FALSE,
'regions' => $layout['regions'],
);
if (!empty($layout['css'])) {
$layouts['panels-' . $key]['css'] = TRUE;
}
}
else {
if ($layout['name'] != 'flexible') {
$regions = panels_flexible_panels(array(), array(), $layout);
$layouts['panels-' . $key] = array(
'label' => $layout['title'],
'path' => $layout['path'],
'module' => 'panels',
'panels' => $layout,
'flexible' => TRUE,
'regions' => $regions,
);
}
}
}
}
// Get layouts defined in the active theme and base theme (if applicable).
$themes = list_themes();
$theme = variable_get('theme_default', 'bartik');
$base_theme = array();
$ancestor = $theme;
while ($ancestor && isset($themes[$ancestor]->base_theme)) {
$ancestor = $themes[$ancestor]->base_theme;
$base_theme[] = $themes[$ancestor];
}
foreach (array_reverse($base_theme) as $base) {
_ds_layouts_scan_theme($base->name, $layouts);
}
_ds_layouts_scan_theme($theme, $layouts);
return $layouts;
}