You are here

public function ViewExecutable::buildRenderable in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::buildRenderable()

Builds the render array outline for the given display.

This render array has a #pre_render callback which will call ::executeDisplay in order to actually execute the view and then build the final render array structure.

Parameters

string $display_id: The display ID.

array $args: An array of arguments passed along to the view.

bool $cache: (optional) Should the result be render cached.

Return value

array|null A renderable array with #type 'view' or NULL if the display ID was invalid.

File

core/modules/views/src/ViewExecutable.php, line 1587

Class

ViewExecutable
Represents a view as a whole.

Namespace

Drupal\views

Code

public function buildRenderable($display_id = NULL, $args = [], $cache = TRUE) {

  // @todo Extract that into a generic method.
  if (empty($this->current_display) || $this->current_display != $this
    ->chooseDisplay($display_id)) {
    if (!$this
      ->setDisplay($display_id)) {
      return NULL;
    }
  }
  return $this->display_handler
    ->buildRenderable($args, $cache);
}