function field_group_field_group_build_pre_render_alter in Field Group 7
Same name and namespace in other branches
- 8.3 field_group.module \field_group_field_group_build_pre_render_alter()
- 8 field_group.module \field_group_field_group_build_pre_render_alter()
- 7.2 field_group.module \field_group_field_group_build_pre_render_alter()
Implements hook_field_group_build_pre_render_alter().
Parameters
Array $elements by address.:
File
- ./
field_group.module, line 1112 - Fieldgroup module.
Code
function field_group_field_group_build_pre_render_alter(&$element) {
// Someone is doing a node view, in a node view. Reset content.
// TODO Check if this breaks something else.
if (isset($element['#node']->content) && count($element['#node']->content) > 0) {
$element['#node']->content = array();
}
$display = isset($element['#view_mode']);
$groups = array_keys($element['#groups']);
// Dish the fieldgroups with no fields for non-forms.
if ($display) {
field_group_remove_empty_display_groups($element, $groups);
}
else {
// Fix the problem on forms with additional settings.
field_group_remove_empty_form_groups('form', $element, $groups, $element['#groups'], $element['#entity_type']);
}
// Add the default field_group JavaScript and stylesheet.
$element['#attached']['js'][] = drupal_get_path('module', 'field_group') . '/field_group.js';
// Move additional settings to the last multipage pane if configured that way.
// Note that multipages MUST be in the root of the form.
foreach (element_children($element) as $name) {
if (isset($element[$name]['#type']) && $element[$name]['#type'] == 'multipage' && isset($element['additional_settings'])) {
$last_pane = NULL;
foreach (element_children($element[$name], TRUE) as $pane) {
$last_pane = $pane;
}
$element[$name][$last_pane]['additional_settings'] = $element['additional_settings'];
unset($element['additional_settings']);
}
}
}