function views_plugin_ds_fields_view::ds_fields_render in Display Suite 6.2
Same name and namespace in other branches
- 6.3 views/views_plugin_ds_fields_view.inc \views_plugin_ds_fields_view::ds_fields_render()
- 6 views/views_plugin_ds_fields_view.inc \views_plugin_ds_fields_view::ds_fields_render()
Render the fields.
Parameters
array $fields Collection of fields for display.:
File
- views/
views_plugin_ds_fields_view.inc, line 149 - Contains the ds views fields style plugin.
Class
- views_plugin_ds_fields_view
- @file Contains the ds views fields style plugin.
Code
function ds_fields_render($fields) {
$object = new stdClass();
$object->type = 'all';
$ds_fields = array();
$ds_groups = array();
$object->build_mode = 'ds_views';
$object_type = $this->view->style_plugin->row_plugin->options['object_type'];
$vars[$object_type] = $object_type;
$regions = $this->view->style_plugin->row_plugin->options['regions'];
$module = $this->view->style_plugin->row_plugin->options['module'];
if (empty($object_type)) {
return;
}
// Loop through views fields, see if they are a field or a group.
foreach ($fields as $key => $field) {
$region = $this->view->style_plugin->row_plugin->options[$key]['region'];
if ($region == 'disabled') {
continue;
}
$weight = $this->view->style_plugin->row_plugin->options[$key]['weight'];
$labelformat = $this->view->style_plugin->row_plugin->options[$key]['labelformat'];
$parent = isset($this->view->style_plugin->row_plugin->options[$key]['parent']) ? $this->view->style_plugin->row_plugin->options[$key]['parent'] : FALSE;
// Class.
$class = $field->class;
if (!empty($this->view->style_plugin->row_plugin->options[$key]['css-class'])) {
$class = ' ' . $this->view->style_plugin->row_plugin->options[$key]['css-class'];
}
// Build field key in ds_fields.
$ds_fields[$key]['key'] = $key;
$ds_fields[$key]['title'] = $field->label;
$ds_fields[$key]['labelformat'] = $labelformat;
$ds_fields[$key]['class'] = $class;
$ds_fields[$key]['type'] = 'ds';
if ($parent != FALSE) {
// Remove the field from the $regions array.
unset($regions[$region][$key]);
// Get the form of the group and create a theme key.
$parent_field = $fields[$parent];
$format = isset($parent_field->handler->options['ds_format']) ? $parent_field->handler->options['ds_format'] : 'ds_group_fieldset';
$ds_fields[$parent]['theme'] = $format;
$ds_groups[$parent][$key] = $weight;
}
// Field content.
$vars[$key] = $field->content;
// Add key to preprocess fields.
$object->preprocess_fields[$key] = DS_FIELD_TYPE_PREPROCESS;
}
// Vars.
$object->ds_fields = $ds_fields;
$object->ds_groups = $ds_groups;
$vars['regions'] = $regions;
// Return the row.
if ($object_type != 'ds-views') {
return ds_render_content($object, $module, $vars);
}
else {
return $this
->ds_views_fields_render($object, 'ds-views-fields', $vars);
}
}