function views_fieldsets_preprocess_views_view_fields in Views fieldsets 7.2
Same name and namespace in other branches
- 8.3 views_fieldsets.module \views_fieldsets_preprocess_views_view_fields()
- 7 views_fieldsets.module \views_fieldsets_preprocess_views_view_fields()
Implements template_preprocess_views_view_fields().
Preprocessor for Views' row style template.
File
- ./
views_fieldsets.module, line 219 - Hooks, helpers and theming for the Views Fieldsets module.
Code
function views_fieldsets_preprocess_views_view_fields(&$vars) {
$view = $vars['view'];
$display_handler = $view->display_handler;
$fields = $display_handler
->get_option('fields');
$fieldsets = views_fieldsets_field_options_to_fieldsets_1d($fields);
if ($fieldsets && array_filter($fieldsets)) {
// Fix separators.
$last_in_fieldset = FALSE;
foreach ($vars['fields'] as $id => $object) {
$in_fieldset = views_fieldsets_field_is_in_fieldset($id, $display_handler);
if (!empty($object->separator) && !$in_fieldset && $last_in_fieldset) {
$object->separator = '';
}
$last_in_fieldset = $in_fieldset;
}
// Add collapse.js for actual fieldsets.
drupal_add_js('misc/collapse.js');
drupal_add_js('misc/form.js');
$hierarchy = views_fieldsets_hierarchy_info($display_handler, $fieldsets);
$vars['hierarchy'] = $hierarchy;
$new_fields = array();
foreach ($hierarchy['tree'] as $field_name => $info_field) {
if (isset($vars['fields'][$field_name])) {
$views_field = $vars['fields'][$field_name];
if (views_fieldsets_field_is_fieldset($field_name, $display_handler)) {
// Save fieldset field name for next recursion.
$sub_vars = $vars;
$sub_vars['fieldset_field'] = $field_name;
// Render fieldset + children.
$content = views_fieldsets_render__simple($info_field->children, $sub_vars);
$views_field->content = $content;
$views_field->label_html = $views_field->wrapper_prefix = $views_field->wrapper_suffix = '';
$new_fields[$field_name] = $views_field;
}
else {
// Render single field.
$new_fields[$field_name] = $views_field;
}
}
}
$vars['fields'] = $new_fields;
}
}