function ViewExecutable::buildRenderable

Same name and namespace in other branches
  1. 9 core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::buildRenderable()
  2. 8.9.x core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::buildRenderable()
  3. 11.x 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 1602

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);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.