function ds_forms_preprocess_ds_forms_custom_form in Display Suite 7
Same name and namespace in other branches
- 7.2 modules/ds_forms/ds_forms.module \ds_forms_preprocess_ds_forms_custom_form()
Implements hook_preprocess_ds_forms_custom_form().
File
- modules/
ds_forms/ ds_forms.module, line 172 - Display Suite forms integration.
Code
function ds_forms_preprocess_ds_forms_custom_form(&$vars) {
$rel_build = ds_build_load($vars['form'], $vars['form']['#form_id']);
$entity_type = $rel_build->entity_type;
$bundle = $rel_build->bundle;
if ($vars['form']['#form_id'] == 'field_ui_display_overview_form') {
return;
}
if ($layout = ds_get_layout($entity_type, $bundle, 'form', FALSE)) {
// Hide empty regions variable.
$hide_empty_regions = $layout['settings']['hide_empty_regions'];
// Theme hook suggestions.
$vars['theme_hook_suggestions'][] = $layout['layout'];
$vars['theme_hook_suggestions'][] = $layout['layout'] . '__' . $entity_type;
$vars['theme_hook_suggestions'][] = $layout['layout'] . '__' . $entity_type . '_' . $bundle;
$form =& $vars['form'];
// Add path to css file.
if (isset($layout['css'])) {
drupal_add_css($layout['path'] . '/' . $layout['layout'] . '.css');
}
// Add the hidden region.
$layout['regions']['hidden'] = 'Hidden';
// Create region variables based on the layout settings.
foreach ($layout['regions'] as $region_name => $region) {
// Create the region content.
if ($region_name == 'hidden') {
ds_forms_render_region($form, $region_name, $layout);
}
else {
$vars[$region_name] = ds_forms_render_region($form, $region_name, $layout);
// Hide empty regions.
if ($hide_empty_regions && empty($vars[$region_name]) && empty($layout['flexible'])) {
$vars[$region_name] = FALSE;
}
elseif (empty($vars[$region_name])) {
$vars[$region_name] = ' ';
}
}
// Add extras classes to the region.
$vars[$region_name . '_classes'] = !empty($layout['settings']['classes'][$region_name]) ? ' ' . implode(' ', $layout['settings']['classes'][$region_name]) : '';
}
}
}