
| Current Path : /var/www/html/ift/web/core/modules/views/src/Plugin/views/field/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/ift/web/core/modules/views/src/Plugin/views/field/UncacheableFieldHandlerTrait.php |
<?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()
*/
abstract protected 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()
*/
abstract protected function getValue(ResultRow $row, $field = NULL);
}