protected function views_plugin_display_table_rowspan::get_colspan_rows in Views Table Rowspan 7
Convert grouping sets into table rows.
Parameters
array $sets: Views grouping sets.
Return value
array An array of rows in table.
1 call to views_plugin_display_table_rowspan::get_colspan_rows()
- views_plugin_display_table_rowspan::render_grouping_sets in views/
plugins/ views_plugin_display_table_rowspan.inc - Overwrite method render_grouping_sets().
File
- views/
plugins/ views_plugin_display_table_rowspan.inc, line 72 - Views handler display Table Rowspan.
Class
- views_plugin_display_table_rowspan
- Style plugin to merge duplicate row in table.
Code
protected function get_colspan_rows($sets, $level = 0, $parent = NULL) {
$rows = array();
$leaf_rows = array();
$group_field_name = $this->options['grouping'][$level]['field'];
foreach ($sets as $set) {
$new_level = $level + 1;
$leaf_rows = $this
->_get_deepest_row($set);
$leaf_rows_index = array_keys($leaf_rows);
$first_index = $leaf_rows_index[0];
$this->view->rowspan[$group_field_name][$first_index] = $leaf_rows_index;
$row = reset($set['rows']);
if (is_array($row) && isset($row['group'])) {
$rows += $this
->get_colspan_rows($set['rows'], $new_level, $set);
}
else {
foreach ($set['rows'] as $index => $set_row) {
$rows[$index] = $set_row;
}
}
}
return $rows;
}