function field_group_field_group_build_pre_render_alter in Field Group 7.2
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 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 992 - 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';
$element['#attached']['css'][] = drupal_get_path('module', 'field_group') . '/field_group.css';
// 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'])) {
$parent_group = $element['#groups'][$name];
$move_additional = isset($parent_group->format_settings['instance_settings']['move_additional']) ? $parent_group->format_settings['instance_settings']['move_additional'] : 1;
$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']);
}
}
}