public function MediaListBuilder::buildRow in Drupal 9
Same name and namespace in other branches
- 8 core/modules/media/src/MediaListBuilder.php \Drupal\media\MediaListBuilder::buildRow()
Builds a row for an entity in the entity listing.
Parameters
\Drupal\Core\Entity\EntityInterface $entity: The entity for this row of the list.
Return value
array A render array structure of fields for this entity.
Overrides EntityListBuilder::buildRow
See also
\Drupal\Core\Entity\EntityListBuilder::render()
File
- core/modules/ media/ src/ MediaListBuilder.php, line 115 
Class
- MediaListBuilder
- Provides a listing of media items.
Namespace
Drupal\mediaCode
public function buildRow(EntityInterface $entity) {
  /** @var \Drupal\media\MediaInterface $entity */
  if ($this->thumbnailStyleExists) {
    $row['thumbnail'] = [];
    if ($thumbnail_uri = $entity
      ->getSource()
      ->getMetadata($entity, 'thumbnail_uri')) {
      $row['thumbnail']['data'] = [
        '#theme' => 'image_style',
        '#style_name' => 'thumbnail',
        '#uri' => $thumbnail_uri,
        '#height' => 50,
      ];
    }
  }
  $row['name']['data'] = [
    '#type' => 'link',
    '#title' => $entity
      ->label(),
    '#url' => $entity
      ->toUrl(),
  ];
  $row['type'] = $entity->bundle->entity
    ->label();
  $row['author']['data'] = [
    '#theme' => 'username',
    '#account' => $entity
      ->getOwner(),
  ];
  $row['status'] = $entity
    ->isPublished() ? $this
    ->t('Published') : $this
    ->t('Unpublished');
  $row['changed'] = $this->dateFormatter
    ->format($entity
    ->getChangedTime(), 'short');
  if ($this->languageManager
    ->isMultilingual()) {
    $row['language'] = $this->languageManager
      ->getLanguageName($entity
      ->language()
      ->getId());
  }
  return $row + parent::buildRow($entity);
}