SVG.php in SVG Image Field 2.1.x
File
src/Plugin/media/Source/SVG.php
View source
<?php
namespace Drupal\svg_image_field\Plugin\media\Source;
use Drupal\media\MediaInterface;
use Drupal\media\MediaTypeInterface;
use Drupal\media\Plugin\media\Source\File;
class SVG extends File {
public function createSourceField(MediaTypeInterface $type) {
return parent::createSourceField($type)
->set('settings', [
'file_extensions' => 'svg',
]);
}
public function getMetadata(MediaInterface $media, $name) {
$file = $media
->get($this->configuration['source_field'])->entity;
if (!$file) {
return parent::getMetadata($media, $name);
}
if ($name === 'thumbnail_uri') {
return $file
->getFileUri();
}
if ($name === 'thumbnail_alt_value') {
return $media
->get($this->configuration['source_field'])->alt ?: parent::getMetadata($media, $name);
}
return parent::getMetadata($media, $name);
}
}
Classes
Name |
Description |
SVG |
Provides media type plugin for SVG image field. |