UncacheableFieldHandlerTrait.php
Same filename in other branches
Namespace
Drupal\views\Plugin\views\fieldFile
-
core/
modules/ views/ src/ Plugin/ views/ field/ UncacheableFieldHandlerTrait.php
View source
<?php
namespace Drupal\views\Plugin\views\field;
use Drupal\views\ResultRow;
/**
* Trait encapsulating the logic for uncacheable field handlers.
*/
trait UncacheableFieldHandlerTrait {
/**
* {@inheritdoc}
*
* @see \Drupal\views\Plugin\views\Field\FieldHandlerInterface::render()
*/
public function render(ResultRow $row) {
return $this->getFieldTokenPlaceholder();
}
/**
* {@inheritdoc}
*
* @see \Drupal\views\Plugin\views\Field\FieldHandlerInterface::postRender()
*/
public function postRender(ResultRow $row, $output) {
$placeholder = $this->getFieldTokenPlaceholder();
$value = $this->doRender($row);
$this->last_render = str_replace($placeholder, $value, $output);
return [
$placeholder => $value,
];
}
/**
* {@inheritdoc}
*
* @see \Drupal\views\Plugin\views\Field\FieldPluginBase::getFieldTokenPlaceholder()
*/
protected abstract function getFieldTokenPlaceholder();
/**
* Actually renders the field markup.
*
* @param \Drupal\views\ResultRow $row
* A result row.
*
* @return string
* The field markup.
*/
protected function doRender(ResultRow $row) {
return $this->getValue($row);
}
/**
* {@inheritdoc}
*
* @see \Drupal\views\Plugin\views\Field\FieldHandlerInterface::getValue()
*/
protected abstract function getValue(ResultRow $row, $field = NULL);
}
Traits
Title | Deprecated | Summary |
---|---|---|
UncacheableFieldHandlerTrait | Trait encapsulating the logic for uncacheable field handlers. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.