You are here

protected function ViewsPreRenderHookHandler::renderSum in Views Merge Rows 8.2

Sets data into $view->style_plugin->rendered_fields.

If merge option is 'sum'.

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::renderSum()
ViewsPreRenderHookHandler::process in src/HookHandler/ViewsPreRenderHookHandler.php
Alter the view according to merge rows configuration.

File

src/HookHandler/ViewsPreRenderHookHandler.php, line 870

Class

ViewsPreRenderHookHandler
Hook handler for the hook_views_pre_render() hook.

Namespace

Drupal\views_merge_rows\HookHandler

Code

protected function renderSum(ViewExecutable $view, array &$merged_row, int $row_index, string $field_name) : void {
  $sum = 0;
  foreach ($merged_row[$field_name] as $field_value) {
    if (!empty($field_value)) {
      $sum += floatval((string) $field_value);
    }
  }
  $view->style_plugin
    ->setRenderedField($sum, $row_index, $field_name);
}