function ThreeColumn::render_grouping_sets in Views PDF 8
Render the grouping sets.
Plugins may override this method if they wish some other way of handling grouping.
Parameters
array $sets: Array containing the grouping sets to render.
int $level: Integer indicating the hierarchical level of the grouping.
Return value
string Rendered output of given grouping sets.
File
- src/
Plugin/ views/ style/ ThreeColumn.php, line 34 - Contains \Drupal\views_pdf\Plugin\views\style\ThreeColumn.
Class
- ThreeColumn
- This class holds all the funtionality used for the Three Column style plugin.
Code
function render_grouping_sets($sets, $level = 0) {
$output = '';
$next_level = $level + 1;
foreach ($sets as $set) {
$row = reset($set['rows']);
// Render as a grouping set.
if (is_array($row) && isset($row['group'])) {
$field_id = $this->options['grouping'][$level]['field'];
$options = array();
if (isset($this->row_plugin->options['formats'][$field_id])) {
$options = $this->row_plugin->options['formats'][$field_id];
}
$this->view->pdf
->drawContent($set['group'], $options, $this->view);
$this
->render_grouping_sets($set['rows'], $next_level);
}
else {
if (!empty($set['group'])) {
$field_id = $this->options['grouping'][$level]['field'];
$options = array();
if (isset($this->row_plugin->options['formats'][$field_id])) {
$options = $this->row_plugin->options['formats'][$field_id];
}
$this->view->pdf
->drawContent($set['group'], $options, $this->view);
}
if ($this
->uses_row_plugin()) {
foreach ($set['rows'] as $index => $row) {
$this->view->row_index = $index;
$set['rows'][$index] = $this->row_plugin
->render($row);
}
}
}
}
unset($this->view->row_index);
return $output;
}