abstract class RendererBase in Drupal 10
Same name and namespace in other branches
- 8 core/modules/views/src/Entity/Render/RendererBase.php \Drupal\views\Entity\Render\RendererBase
- 9 core/modules/views/src/Entity/Render/RendererBase.php \Drupal\views\Entity\Render\RendererBase
Defines a base class for entity renderers.
Hierarchy
- class \Drupal\views\Entity\Render\RendererBase implements CacheableDependencyInterface
Expanded class hierarchy of RendererBase
File
- core/
modules/ views/ src/ Entity/ Render/ RendererBase.php, line 16
Namespace
Drupal\views\Entity\RenderView source
abstract class RendererBase implements CacheableDependencyInterface {
/**
* The view executable wrapping the view storage entity.
*
* @var \Drupal\views\ViewExecutable
*/
public $view;
/**
* The language manager.
*
* @var \Drupal\Core\Language\LanguageManagerInterface
*/
protected $languageManager;
/**
* The type of the entity being rendered.
*
* @var \Drupal\Core\Entity\EntityTypeInterface
*/
protected $entityType;
/**
* Contains an array of render arrays, one for each rendered entity.
*
* @var array
*/
protected $build;
/**
* Constructs a renderer object.
*
* @param \Drupal\views\ViewExecutable $view
* The entity row being rendered.
* @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
* The language manager.
* @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
* The entity type.
*/
public function __construct(ViewExecutable $view, LanguageManagerInterface $language_manager, EntityTypeInterface $entity_type) {
$this->view = $view;
$this->languageManager = $language_manager;
$this->entityType = $entity_type;
}
/**
* {@inheritdoc}
*/
public function getCacheMaxAge() {
return Cache::PERMANENT;
}
/**
* {@inheritdoc}
*/
public function getCacheContexts() {
return [];
}
/**
* {@inheritdoc}
*/
public function getCacheTags() {
return [];
}
/**
* Alters the query if needed.
*
* @param \Drupal\views\Plugin\views\query\QueryPluginBase $query
* The query to alter.
* @param string $relationship
* (optional) The relationship, used by a field.
*/
public abstract function query(QueryPluginBase $query, $relationship = NULL);
/**
* Runs before each entity is rendered.
*
* @param $result
* The full array of results from the query.
*/
public function preRender(array $result) {
}
/**
* Renders entity data.
*
* @param \Drupal\views\ResultRow $row
* A single row of the query result.
*
* @return array
* A renderable array for the entity data contained in the result row.
*/
public abstract function render(ResultRow $row);
}