You are here

function FieldPluginBase::theme in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/views/src/Plugin/views/field/FieldPluginBase.php \Drupal\views\Plugin\views\field\FieldPluginBase::theme()

Passes values to drupal_render() using $this->themeFunctions() as #theme.

Parameters

\Drupal\views\ResultRow $values: Holds single row of a view's result set.

Return value

string|\Drupal\Component\Render\MarkupInterface Returns rendered output of the given theme implementation. If the output is safe it will be wrapped in an object that implements MarkupInterface. If it is empty or unsafe it will be a string.

Overrides FieldHandlerInterface::theme

File

core/modules/views/src/Plugin/views/field/FieldPluginBase.php, line 1695
Contains \Drupal\views\Plugin\views\field\FieldPluginBase.

Class

FieldPluginBase
Base class for views fields.

Namespace

Drupal\views\Plugin\views\field

Code

function theme(ResultRow $values) {
  $renderer = $this
    ->getRenderer();
  $build = array(
    '#theme' => $this
      ->themeFunctions(),
    '#view' => $this->view,
    '#field' => $this,
    '#row' => $values,
  );
  $output = $renderer
    ->render($build);

  // Set the bubbleable rendering metadata on $view->element. This ensures the
  // bubbleable rendering metadata of individual rendered fields is not lost.
  // @see \Drupal\Core\Render\Renderer::updateStack()
  $this->view->element = $renderer
    ->mergeBubbleableMetadata($this->view->element, $build);
  return $output;
}