public function MediaDirectoriesImageDimensionsFormatter::viewElements in Media Directories 8
Same name and namespace in other branches
- 2.x modules/media_directories_editor/src/Plugin/Field/FieldFormatter/MediaDirectoriesImageDimensionsFormatter.php \Drupal\media_directories_editor\Plugin\Field\FieldFormatter\MediaDirectoriesImageDimensionsFormatter::viewElements()
Builds a renderable array for a field value.
Parameters
\Drupal\Core\Field\FieldItemListInterface $items: The field values to be rendered.
string $langcode: The language that should be used to render the field.
Return value
array A renderable array for $items, as an array of child elements keyed by consecutive numeric indexes starting from 0.
Overrides ImageFormatter::viewElements
File
- modules/
media_directories_editor/ src/ Plugin/ Field/ FieldFormatter/ MediaDirectoriesImageDimensionsFormatter.php, line 182
Class
- MediaDirectoriesImageDimensionsFormatter
- Plugin implementation of the 'media_directories_editor_thumbnail' formatter.
Namespace
Drupal\media_directories_editor\Plugin\Field\FieldFormatterCode
public function viewElements(FieldItemListInterface $items, $langcode) {
$elements = [];
$media_items = $this
->getEntitiesToView($items, $langcode);
// Early opt-out if the field is empty.
if (empty($media_items)) {
return $elements;
}
/** @var \Drupal\media\MediaInterface[] $media_items */
foreach ($media_items as $delta => $media) {
/** @var \Drupal\file\Entity\File $file */
$file = $media
->get('thumbnail')->entity;
$elements[$delta] = [
'#theme' => 'image',
'#attributes' => [
'width' => $this
->getSetting('dimensions')['image_width'],
'height' => $this
->getSetting('dimensions')['image_height'],
'class' => [],
],
'#uri' => file_create_url($file
->getFileUri()),
];
// Add cacheability of each item in the field.
$this->renderer
->addCacheableDependency($elements[$delta], $media);
}
return $elements;
}