function views_plugin_ds_fields_view::ds_views_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_views_fields_render()
- 6 views/views_plugin_ds_fields_view.inc \views_plugin_ds_fields_view::ds_views_fields_render()
Render the content for modules not implementing the ds api.
1 call to views_plugin_ds_fields_view::ds_views_fields_render()
- views_plugin_ds_fields_view::ds_fields_render in views/
views_plugin_ds_fields_view.inc - Render the fields.
File
- views/
views_plugin_ds_fields_view.inc, line 225 - Contains the ds views fields style plugin.
Class
- views_plugin_ds_fields_view
- @file Contains the ds views fields style plugin.
Code
function ds_views_fields_render($object, $module, $vars) {
$content = '';
$all_regions = ds_regions('all', TRUE);
// Loop through all regions.
$regions = $vars['regions'];
$region_classes = array();
foreach ($all_regions as $region_name => $region_title) {
if (isset($regions[$region_name])) {
$region_content = '';
$region = $regions[$region_name];
$count = 0;
// Loop through all fields after ordering on weight.
asort($region);
foreach ($region as $key => $weight) {
// Theming function. This implies a 'content' key exists.
$field_content = isset($vars[$key]) ? $vars[$key] : '';
if (!empty($field_content)) {
$count++;
$region_content .= theme('ds_field', $field_content, $object->ds_fields[$key]);
}
}
// Store content from a region and add classes if necessary.
if (!empty($region_content)) {
if ($region_name == 'left' || $region_name == 'right') {
$region_classes[$region_name] = $region_name;
}
$style = isset($region_styles[$region_name]) ? ' ' . $region_styles[$region_name] : '';
$themed_regions[$region_name] = array(
'content' => $region_content,
'extra_class' => $style,
'count' => $count,
);
}
}
}
$object_display = new stdClass();
$object_display->all_regions = $all_regions;
$object_display->themed_regions = $themed_regions;
$object_display->region_classes = $region_classes;
$object_display->build_mode = $object->build_mode;
// Add classes based on regions.
if (isset($object_display->themed_regions['middle'])) {
$middle_class = $module . '-no-sidebars';
if (isset($object_display->region_classes['left']) && isset($object_display->region_classes['right'])) {
$middle_class = $module . '-two-sidebars';
}
elseif (isset($object_display->region_classes['left'])) {
$middle_class = $module . '-one-sidebar ' . $module . '-sidebar-left';
}
elseif (isset($object_display->region_classes['right'])) {
$middle_class = $module . '-one-sidebar ' . $module . '-sidebar-right';
}
$object_display->themed_regions['middle']['extra_class'] .= ' ' . $middle_class;
}
// Theme the regions with their content.
return theme('ds_regions', $object_display, $module);
}