public function EntityTranslationRenderTrait::getEntityTranslation in Drupal 8
Same name and namespace in other branches
- 9 core/modules/views/src/Entity/Render/EntityTranslationRenderTrait.php \Drupal\views\Entity\Render\EntityTranslationRenderTrait::getEntityTranslation()
- 10 core/modules/views/src/Entity/Render/EntityTranslationRenderTrait.php \Drupal\views\Entity\Render\EntityTranslationRenderTrait::getEntityTranslation()
Returns the entity translation matching the configured row language.
Parameters
\Drupal\Core\Entity\EntityInterface $entity: The entity object the field value being processed is attached to.
\Drupal\views\ResultRow $row: The result row the field value being processed belongs to.
Return value
\Drupal\Core\Entity\FieldableEntityInterface The entity translation object for the specified row.
6 calls to EntityTranslationRenderTrait::getEntityTranslation()
- BulkForm::viewsForm in core/modules/ views/ src/ Plugin/ views/ field/ BulkForm.php 
- Form constructor for the bulk form.
- DataEntityRow::render in core/modules/ rest/ src/ Plugin/ views/ row/ DataEntityRow.php 
- Render a row object. This usually passes through to a theme template of some form, but not always.
- EntityFieldRenderer::buildFields in core/modules/ views/ src/ Entity/ Render/ EntityFieldRenderer.php 
- Builds the render arrays for all fields of all result rows.
- EntityLink::getUrlInfo in core/modules/ views/ src/ Plugin/ views/ field/ EntityLink.php 
- Returns the URI elements of the link.
- EntityOperations::render in core/modules/ views/ src/ Plugin/ views/ field/ EntityOperations.php 
- Renders the field.
File
- core/modules/ views/ src/ Entity/ Render/ EntityTranslationRenderTrait.php, line 69 
Class
- EntityTranslationRenderTrait
- Trait used to instantiate the view's entity translation renderer.
Namespace
Drupal\views\Entity\RenderCode
public function getEntityTranslation(EntityInterface $entity, ResultRow $row) {
  // We assume the same language should be used for all entity fields
  // belonging to a single row, even if they are attached to different entity
  // types. Below we apply language fallback to ensure a valid value is always
  // picked.
  $translation = $entity;
  if ($entity instanceof TranslatableInterface && count($entity
    ->getTranslationLanguages()) > 1) {
    $langcode = $this
      ->getEntityTranslationRenderer()
      ->getLangcode($row);
    $translation = $this
      ->getEntityRepository()
      ->getTranslationFromContext($entity, $langcode);
  }
  return $translation;
}