You are here

protected function ViewsPreRenderHookHandler::preRenderCount in Views Merge Rows 8.2

Manipulates data if merge option is 'count'.

Parameters

\Drupal\views\ViewExecutable $view: View object.

array $merged_rows: Array of merged rows.

array $merged_row: Current merged row.

bool $is_filter_row: TRUE if row merges rows of one or more filtered fields; FALSE otherwise.

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.

int $merged_row_index: Row index to which data shall be reported if the row is not a filtered one ($merged_rows).

1 call to ViewsPreRenderHookHandler::preRenderCount()
ViewsPreRenderHookHandler::process in src/HookHandler/ViewsPreRenderHookHandler.php
Alter the view according to merge rows configuration.

File

src/HookHandler/ViewsPreRenderHookHandler.php, line 289

Class

ViewsPreRenderHookHandler
Hook handler for the hook_views_pre_render() hook.

Namespace

Drupal\views_merge_rows\HookHandler

Code

protected function preRenderCount(ViewExecutable $view, array &$merged_rows, array &$merged_row, bool $is_filter_row, int $row_index, string $field_name, int $merged_row_index) : void {
  if ($is_filter_row) {
    $merged_row[$field_name] = 1;
    $merged_rows[$row_index] = $merged_row;
  }
  else {
    $merged_row[$field_name] = intval($merged_row[$field_name]) + 1;
    $this
      ->unsetRow($view, $row_index);
    $merged_rows[$merged_row_index] = $merged_row;
  }
}