protected function ViewsPreRenderHookHandler::renderAverage in Views Merge Rows 8.2
Sets data into $view->style_plugin->rendered_fields.
If merge option is 'average'.
Parameters
\Drupal\views\ViewExecutable $view: View object.
array $merged_row: Current merged row.
int $row_index: Row index to which data shall be reported if the row is a filtered one ($merged_rows).
string $field_name: Name of the field being under work.
1 call to ViewsPreRenderHookHandler::renderAverage()
- ViewsPreRenderHookHandler::process in src/
HookHandler/ ViewsPreRenderHookHandler.php - Alter the view according to merge rows configuration.
File
- src/
HookHandler/ ViewsPreRenderHookHandler.php, line 900
Class
- ViewsPreRenderHookHandler
- Hook handler for the hook_views_pre_render() hook.
Namespace
Drupal\views_merge_rows\HookHandlerCode
protected function renderAverage(ViewExecutable $view, array &$merged_row, int $row_index, string $field_name) : void {
$sum = 0;
$count_field_values = 0;
foreach ($merged_row[$field_name] as $field_value) {
if (!empty($field_value)) {
$sum += floatval((string) $field_value);
$count_field_values++;
}
}
$sum = $sum / $count_field_values;
$view->style_plugin
->setRenderedField($sum, $row_index, $field_name);
}