interface EntityViewBuilderInterface in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Entity/EntityViewBuilderInterface.php \Drupal\Core\Entity\EntityViewBuilderInterface
Defines an interface for entity view builders.
Hierarchy
- interface \Drupal\Core\Entity\EntityViewBuilderInterface
Expanded class hierarchy of EntityViewBuilderInterface
All classes that implement EntityViewBuilderInterface
Related topics
4 files declare their use of EntityViewBuilderInterface
- BlockPageVariant.php in core/
modules/ block/ src/ Plugin/ DisplayVariant/ BlockPageVariant.php - EntityManagerTest.php in core/
tests/ Drupal/ Tests/ Core/ Entity/ EntityManagerTest.php - PlaceBlockPageVariant.php in core/
modules/ block_place/ src/ Plugin/ DisplayVariant/ PlaceBlockPageVariant.php - UnpublishByKeywordComment.php in core/
modules/ comment/ src/ Plugin/ Action/ UnpublishByKeywordComment.php
File
- core/
lib/ Drupal/ Core/ Entity/ EntityViewBuilderInterface.php, line 13
Namespace
Drupal\Core\EntityView source
interface EntityViewBuilderInterface {
/**
* Builds the component fields and properties of a set of entities.
*
* @param &$build
* The renderable array representing the entity content.
* @param \Drupal\Core\Entity\EntityInterface[] $entities
* The entities whose content is being built.
* @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface[] $displays
* The array of entity view displays holding the display options
* configured for the entity components, keyed by bundle name.
* @param string $view_mode
* The view mode in which the entity is being viewed.
*/
public function buildComponents(array &$build, array $entities, array $displays, $view_mode);
/**
* Builds the render array for the provided entity.
*
* @param \Drupal\Core\Entity\EntityInterface $entity
* The entity to render.
* @param string $view_mode
* (optional) The view mode that should be used to render the entity.
* @param string $langcode
* (optional) For which language the entity should be rendered, defaults to
* the current content language.
*
* @return array
* A render array for the entity.
*
* @throws \InvalidArgumentException
* Can be thrown when the set of parameters is inconsistent, like when
* trying to view a Comment and passing a Node which is not the one the
* comment belongs to, or not passing one, and having the comment node not
* be available for loading.
*/
public function view(EntityInterface $entity, $view_mode = 'full', $langcode = NULL);
/**
* Builds the render array for the provided entities.
*
* @param array $entities
* An array of entities implementing EntityInterface to view.
* @param string $view_mode
* (optional) The view mode that should be used to render the entity.
* @param string $langcode
* (optional) For which language the entity should be rendered, defaults to
* the current content language.
*
* @return
* A render array for the entities, indexed by the same keys as the
* entities array passed in $entities.
*
* @throws \InvalidArgumentException
* Can be thrown when the set of parameters is inconsistent, like when
* trying to view Comments and passing a Node which is not the one the
* comments belongs to, or not passing one, and having the comments node not
* be available for loading.
*/
public function viewMultiple(array $entities = [], $view_mode = 'full', $langcode = NULL);
/**
* Resets the entity render cache.
*
* @param \Drupal\Core\Entity\EntityInterface[] $entities
* (optional) If specified, the cache is reset for the given entities only.
*/
public function resetCache(array $entities = NULL);
/**
* Builds a renderable array for the value of a single field in an entity.
*
* The resulting output is a fully themed field with label and multiple
* values.
*
* This function can be used by third-party modules that need to output an
* isolated field.
* - Do not use inside node (or any other entity) templates; use
* render($content[FIELD_NAME]) instead.
* - The FieldItemInterface::view() method can be used to output a single
* formatted field value, without label or wrapping field markup.
*
* The function takes care of invoking the prepare_view steps. It also
* respects field access permissions.
*
* @param \Drupal\Core\Field\FieldItemListInterface $items
* FieldItemList containing the values to be displayed.
* @param string|array $display_options
* Can be either:
* - The name of a view mode. The field will be displayed according to the
* display settings specified for this view mode in the $field
* definition for the field in the entity's bundle. If no display settings
* are found for the view mode, the settings for the 'default' view mode
* will be used.
* - An array of display options. The following key/value pairs are allowed:
* - label: (string) Position of the label. The default 'field' theme
* implementation supports the values 'inline', 'above' and 'hidden'.
* Defaults to 'above'.
* - type: (string) The formatter to use. Defaults to the
* 'default_formatter' for the field type. The default formatter will
* also be used if the requested formatter is not available.
* - settings: (array) Settings specific to the formatter. Defaults to the
* formatter's default settings.
* - weight: (float) The weight to assign to the renderable element.
* Defaults to 0.
*
* @return array
* A renderable array for the field values.
*
* @see \Drupal\Core\Entity\EntityViewBuilderInterface::viewFieldItem()
*/
public function viewField(FieldItemListInterface $items, $display_options = []);
/**
* Builds a renderable array for a single field item.
*
* @param \Drupal\Core\Field\FieldItemInterface $item
* FieldItem to be displayed.
* @param string|array $display_options
* Can be either the name of a view mode, or an array of display settings.
* See EntityViewBuilderInterface::viewField() for more information.
*
* @return array
* A renderable array for the field item.
*
* @see \Drupal\Core\Entity\EntityViewBuilderInterface::viewField()
*/
public function viewFieldItem(FieldItemInterface $item, $display_options = []);
/**
* The cache tag associated with this entity view builder.
*
* An entity view builder is instantiated on a per-entity type basis, so the
* cache tags are also per-entity type.
*
* @return array
* An array of cache tags.
*/
public function getCacheTags();
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
EntityViewBuilderInterface:: |
public | function | Builds the component fields and properties of a set of entities. | 1 |
EntityViewBuilderInterface:: |
public | function | The cache tag associated with this entity view builder. | 1 |
EntityViewBuilderInterface:: |
public | function | Resets the entity render cache. | 1 |
EntityViewBuilderInterface:: |
public | function | Builds the render array for the provided entity. | 1 |
EntityViewBuilderInterface:: |
public | function | Builds a renderable array for the value of a single field in an entity. | 1 |
EntityViewBuilderInterface:: |
public | function | Builds a renderable array for a single field item. | 1 |
EntityViewBuilderInterface:: |
public | function | Builds the render array for the provided entities. | 1 |