class Image
Same name in this branch
- 8.9.x core/modules/image/src/Plugin/InPlaceEditor/Image.php \Drupal\image\Plugin\InPlaceEditor\Image
- 8.9.x core/lib/Drupal/Core/Image/Image.php \Drupal\Core\Image\Image
- 8.9.x core/lib/Drupal/Component/Utility/Image.php \Drupal\Component\Utility\Image
Same name in other branches
- 9 core/modules/media/src/Plugin/media/Source/Image.php \Drupal\media\Plugin\media\Source\Image
- 9 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Image.php \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Image
- 9 core/modules/quickedit/src/Plugin/InPlaceEditor/Image.php \Drupal\quickedit\Plugin\InPlaceEditor\Image
- 9 core/modules/image/src/Plugin/InPlaceEditor/Image.php \Drupal\image\Plugin\InPlaceEditor\Image
- 9 core/lib/Drupal/Core/Image/Image.php \Drupal\Core\Image\Image
- 9 core/lib/Drupal/Component/Utility/Image.php \Drupal\Component\Utility\Image
- 10 core/modules/media/src/Plugin/media/Source/Image.php \Drupal\media\Plugin\media\Source\Image
- 10 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Image.php \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Image
- 10 core/lib/Drupal/Core/Image/Image.php \Drupal\Core\Image\Image
- 10 core/lib/Drupal/Component/Utility/Image.php \Drupal\Component\Utility\Image
- 11.x core/modules/media/src/Plugin/media/Source/Image.php \Drupal\media\Plugin\media\Source\Image
- 11.x core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Image.php \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Image
- 11.x core/lib/Drupal/Core/Image/Image.php \Drupal\Core\Image\Image
- 11.x core/lib/Drupal/Component/Utility/Image.php \Drupal\Component\Utility\Image
Image entity media source.
Plugin annotation
@MediaSource(
id = "image",
label = @Translation("Image"),
description = @Translation("Use local images for reusable media."),
allowed_field_types = {"image"},
default_thumbnail_filename = "no-thumbnail.png",
thumbnail_alt_metadata_attribute = "thumbnail_alt_value"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\media\MediaSourceBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\media\MediaSourceInterface, \Drupal\Core\Plugin\ContainerFactoryPluginInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of Image
See also
\Drupal\Core\Image\ImageInterface
3 files declare their use of Image
- MediaLibraryDisplayModeTest.php in core/
modules/ media_library/ tests/ src/ Functional/ MediaLibraryDisplayModeTest.php - MediaSourceImageTest.php in core/
modules/ media/ tests/ src/ FunctionalJavascript/ MediaSourceImageTest.php - StandardTest.php in core/
profiles/ standard/ tests/ src/ Functional/ StandardTest.php
266 string references to 'Image'
- aggregator_entity_extra_field_info in core/
modules/ aggregator/ aggregator.module - Implements hook_entity_extra_field_info().
- AjaxFileManagedMultipleTest::testMultipleFilesUpload in core/
modules/ file/ tests/ src/ FunctionalJavascript/ AjaxFileManagedMultipleTest.php - Test if managed file form element works well with multiple files upload.
- CKEditorIntegrationTest::setUp in core/
modules/ media_library/ tests/ src/ FunctionalJavascript/ CKEditorIntegrationTest.php - CKEditorIntegrationTest::setUp in core/
modules/ media_library/ tests/ src/ FunctionalJavascript/ CKEditorIntegrationTest.php - CKEditorIntegrationTest::setUp in core/
modules/ media/ tests/ src/ FunctionalJavascript/ CKEditorIntegrationTest.php
File
-
core/
modules/ media/ src/ Plugin/ media/ Source/ Image.php, line 30
Namespace
Drupal\media\Plugin\media\SourceView source
class Image extends File {
/**
* Key for "image width" metadata attribute.
*
* @var string
*/
const METADATA_ATTRIBUTE_WIDTH = 'width';
/**
* Key for "image height" metadata attribute.
*
* @var string
*/
const METADATA_ATTRIBUTE_HEIGHT = 'height';
/**
* The image factory service.
*
* @var \Drupal\Core\Image\ImageFactory
*/
protected $imageFactory;
/**
* The file system service.
*
* @var \Drupal\Core\File\FileSystemInterface
*/
protected $fileSystem;
/**
* Constructs a new class instance.
*
* @param array $configuration
* A configuration array containing information about the plugin instance.
* @param string $plugin_id
* The plugin_id for the plugin instance.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* Entity type manager service.
* @param \Drupal\Core\Entity\EntityFieldManagerInterface $entity_field_manager
* Entity field manager service.
* @param \Drupal\Core\Field\FieldTypePluginManagerInterface $field_type_manager
* The field type plugin manager service.
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory service.
* @param \Drupal\Core\Image\ImageFactory $image_factory
* The image factory.
* @param \Drupal\Core\File\FileSystemInterface $file_system
* The file system service.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $entity_field_manager, FieldTypePluginManagerInterface $field_type_manager, ConfigFactoryInterface $config_factory, ImageFactory $image_factory, FileSystemInterface $file_system) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $entity_field_manager, $field_type_manager, $config_factory);
$this->imageFactory = $image_factory;
$this->fileSystem = $file_system;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container->get('entity_type.manager'), $container->get('entity_field.manager'), $container->get('plugin.manager.field.field_type'), $container->get('config.factory'), $container->get('image.factory'), $container->get('file_system'));
}
/**
* {@inheritdoc}
*/
public function getMetadataAttributes() {
$attributes = parent::getMetadataAttributes();
$attributes += [
static::METADATA_ATTRIBUTE_WIDTH => $this->t('Width'),
static::METADATA_ATTRIBUTE_HEIGHT => $this->t('Height'),
];
return $attributes;
}
/**
* {@inheritdoc}
*/
public function getMetadata(MediaInterface $media, $name) {
// Get the file and image data.
/** @var \Drupal\file\FileInterface $file */
$file = $media->get($this->configuration['source_field'])->entity;
// If the source field is not required, it may be empty.
if (!$file) {
return parent::getMetadata($media, $name);
}
$uri = $file->getFileUri();
$image = $this->imageFactory
->get($uri);
switch ($name) {
case static::METADATA_ATTRIBUTE_WIDTH:
return $image->getWidth() ?: NULL;
case static::METADATA_ATTRIBUTE_HEIGHT:
return $image->getHeight() ?: NULL;
case 'thumbnail_uri':
return $uri;
case 'thumbnail_alt_value':
return $media->get($this->configuration['source_field'])->alt ?: parent::getMetadata($media, $name);
}
return parent::getMetadata($media, $name);
}
/**
* {@inheritdoc}
*/
public function createSourceField(MediaTypeInterface $type) {
/** @var \Drupal\field\FieldConfigInterface $field */
$field = parent::createSourceField($type);
// Reset the field to its default settings so that we don't inherit the
// settings from the parent class' source field.
$settings = $this->fieldTypeManager
->getDefaultFieldSettings($field->getType());
return $field->set('settings', $settings);
}
/**
* {@inheritdoc}
*/
public function prepareViewDisplay(MediaTypeInterface $type, EntityViewDisplayInterface $display) {
parent::prepareViewDisplay($type, $display);
// Use the `large` image style and do not link the image to anything.
// This will prevent the out-of-the-box configuration from outputting very
// large raw images. If the `large` image style has been deleted, do not
// set an image style.
$field_name = $this->getSourceFieldDefinition($type)
->getName();
$component = $display->getComponent($field_name);
$component['settings']['image_link'] = '';
$component['settings']['image_style'] = '';
if ($this->entityTypeManager
->getStorage('image_style')
->load('large')) {
$component['settings']['image_style'] = 'large';
}
$display->setComponent($field_name, $component);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
File::getThumbnail | protected | function | Gets the thumbnail image URI based on a file entity. | ||
File::METADATA_ATTRIBUTE_MIME | constant | Key for "MIME type" metadata attribute. | |||
File::METADATA_ATTRIBUTE_NAME | constant | Key for "Name" metadata attribute. | |||
File::METADATA_ATTRIBUTE_SIZE | constant | Key for "File size" metadata attribute. | |||
Image::$fileSystem | protected | property | The file system service. | ||
Image::$imageFactory | protected | property | The image factory service. | ||
Image::create | public static | function | Creates an instance of the plugin. | Overrides MediaSourceBase::create | |
Image::createSourceField | public | function | Creates the source field definition for a type. | Overrides File::createSourceField | |
Image::getMetadata | public | function | Gets the value for a metadata attribute for a given media item. | Overrides File::getMetadata | |
Image::getMetadataAttributes | public | function | Gets a list of metadata attributes provided by this plugin. | Overrides File::getMetadataAttributes | |
Image::METADATA_ATTRIBUTE_HEIGHT | constant | Key for "image height" metadata attribute. | |||
Image::METADATA_ATTRIBUTE_WIDTH | constant | Key for "image width" metadata attribute. | |||
Image::prepareViewDisplay | public | function | Prepares the media type fields for this source in the view display. | Overrides MediaSourceBase::prepareViewDisplay | |
Image::__construct | public | function | Constructs a new class instance. | Overrides MediaSourceBase::__construct | |
MediaSourceBase::$configFactory | protected | property | The config factory service. | ||
MediaSourceBase::$entityFieldManager | protected | property | The entity field manager service. | ||
MediaSourceBase::$entityTypeManager | protected | property | The entity type manager service. | ||
MediaSourceBase::$fieldTypeManager | protected | property | The field type plugin manager service. | ||
MediaSourceBase::$label | protected | property | Plugin label. | ||
MediaSourceBase::buildConfigurationForm | public | function | Form constructor. | Overrides PluginFormInterface::buildConfigurationForm | 2 |
MediaSourceBase::calculateDependencies | public | function | Calculates dependencies for the configured plugin. | Overrides DependentPluginInterface::calculateDependencies | |
MediaSourceBase::createSourceFieldStorage | protected | function | Creates the source field storage definition. | ||
MediaSourceBase::defaultConfiguration | public | function | Gets default configuration for this plugin. | Overrides ConfigurableInterface::defaultConfiguration | 2 |
MediaSourceBase::getConfiguration | public | function | Gets this plugin's configuration. | Overrides ConfigurableInterface::getConfiguration | |
MediaSourceBase::getSourceFieldDefinition | public | function | Get the source field definition for a media type. | Overrides MediaSourceInterface::getSourceFieldDefinition | |
MediaSourceBase::getSourceFieldName | protected | function | Determine the name of the source field. | 2 | |
MediaSourceBase::getSourceFieldOptions | protected | function | Get the source field options for the media type form. | ||
MediaSourceBase::getSourceFieldStorage | protected | function | Returns the source field storage definition. | ||
MediaSourceBase::getSourceFieldValue | public | function | Get the primary value stored in the source field. | Overrides MediaSourceInterface::getSourceFieldValue | |
MediaSourceBase::prepareFormDisplay | public | function | Prepares the media type fields for this source in the form display. | Overrides MediaSourceInterface::prepareFormDisplay | 3 |
MediaSourceBase::setConfiguration | public | function | Sets the configuration for this plugin instance. | Overrides ConfigurableInterface::setConfiguration | |
MediaSourceBase::submitConfigurationForm | public | function | Form submission handler. | Overrides PluginFormInterface::submitConfigurationForm | 1 |
MediaSourceBase::validateConfigurationForm | public | function | Form validation handler. | Overrides PluginFormInterface::validateConfigurationForm | 1 |
MediaSourceInterface::METADATA_FIELD_EMPTY | constant | Default empty value for metadata fields. | |||
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin_id of the plugin instance. | 2 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.