protected function MediaPdfThumbnailFieldFormatter::getMediaThumbnailUrl in Media PDF Thumbnail 8.3
Same name and namespace in other branches
- 8.4 src/Plugin/Field/FieldFormatter/MediaPdfThumbnailFieldFormatter.php \Drupal\media_pdf_thumbnail\Plugin\Field\FieldFormatter\MediaPdfThumbnailFieldFormatter::getMediaThumbnailUrl()
Parameters
\Drupal\media\MediaInterface $media:
\Drupal\Core\Entity\EntityInterface $entity:
Return value
\Drupal\Core\Url|string|null
Throws
\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
\Drupal\Component\Plugin\Exception\PluginNotFoundException
\Drupal\Core\Entity\EntityMalformedException
Overrides MediaThumbnailFormatter::getMediaThumbnailUrl
File
- src/
Plugin/ Field/ FieldFormatter/ MediaPdfThumbnailFieldFormatter.php, line 104
Class
- MediaPdfThumbnailFieldFormatter
- Plugin implementation of the 'media_pdf_thumbnail_field_formatter' formatter.
Namespace
Drupal\media_pdf_thumbnail\Plugin\Field\FieldFormatterCode
protected function getMediaThumbnailUrl(MediaInterface $media, EntityInterface $entity) {
$url = NULL;
$image_link_setting = $this
->getSetting('image_link');
// Check if the formatter involves a link.
if ($image_link_setting == 'content') {
if (!$entity
->isNew()) {
$url = $entity
->toUrl();
}
}
elseif ($image_link_setting === 'media') {
$url = $media
->toUrl();
}
elseif ('file') {
$bundle = $media
->bundle();
$data = $this->config
->getRawData();
if (!empty($data[$bundle . '_enable'])) {
$field = !empty($data[$bundle . '_field']) ? $data[$bundle . '_field'] : NULL;
if ($field) {
$fieldValue = $media
->get($field)
->getValue();
$fid = !empty($fieldValue[0]['target_id']) ? $fieldValue[0]['target_id'] : NULL;
$fileEntity = $fid ? $this->entityTypeManager
->getStorage('file')
->load($fid) : NULL;
$url = $fileEntity ? file_create_url($fileEntity
->getFileUri()) : '';
}
}
}
return $url;
}