function ImageFormatterBase::getEntitiesToView
Same name in other branches
- 9 core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php \Drupal\image\Plugin\Field\FieldFormatter\ImageFormatterBase::getEntitiesToView()
- 10 core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php \Drupal\image\Plugin\Field\FieldFormatter\ImageFormatterBase::getEntitiesToView()
- 11.x core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php \Drupal\image\Plugin\Field\FieldFormatter\ImageFormatterBase::getEntitiesToView()
Overrides EntityReferenceFormatterBase::getEntitiesToView
4 calls to ImageFormatterBase::getEntitiesToView()
- ImageFormatter::viewElements in core/
modules/ image/ src/ Plugin/ Field/ FieldFormatter/ ImageFormatter.php - Builds a renderable array for a field value.
- ImageUrlFormatter::viewElements in core/
modules/ image/ src/ Plugin/ Field/ FieldFormatter/ ImageUrlFormatter.php - Builds a renderable array for a field value.
- MediaThumbnailFormatter::viewElements in core/
modules/ media/ src/ Plugin/ Field/ FieldFormatter/ MediaThumbnailFormatter.php - Builds a renderable array for a field value.
- ResponsiveImageFormatter::viewElements in core/
modules/ responsive_image/ src/ Plugin/ Field/ FieldFormatter/ ResponsiveImageFormatter.php - Builds a renderable array for a field value.
File
-
core/
modules/ image/ src/ Plugin/ Field/ FieldFormatter/ ImageFormatterBase.php, line 17
Class
- ImageFormatterBase
- Base class for image file formatters.
Namespace
Drupal\image\Plugin\Field\FieldFormatterCode
protected function getEntitiesToView(EntityReferenceFieldItemListInterface $items, $langcode) {
// Add the default image if needed.
if ($items->isEmpty()) {
$default_image = $this->getFieldSetting('default_image');
// If we are dealing with a configurable field, look in both
// instance-level and field-level settings.
if (empty($default_image['uuid']) && $this->fieldDefinition instanceof FieldConfigInterface) {
$default_image = $this->fieldDefinition
->getFieldStorageDefinition()
->getSetting('default_image');
}
if (!empty($default_image['uuid']) && ($file = \Drupal::service('entity.repository')->loadEntityByUuid('file', $default_image['uuid']))) {
// Clone the FieldItemList into a runtime-only object for the formatter,
// so that the fallback image can be rendered without affecting the
// field values in the entity being rendered.
$items = clone $items;
$items->setValue([
'target_id' => $file->id(),
'alt' => $default_image['alt'],
'title' => $default_image['title'],
'width' => $default_image['width'],
'height' => $default_image['height'],
'entity' => $file,
'_loaded' => TRUE,
'_is_default' => TRUE,
]);
$file->_referringItem = $items[0];
}
}
return parent::getEntitiesToView($items, $langcode);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.