class FilemimeFormatter extends BaseFieldFileFormatterBase (View source)

Formatter to render the file MIME type, with an optional icon.

Traits

Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.

Provides dependency injection friendly methods for serialization.

Provides a trait for the messenger service.

Constants

DERIVATIVE_SEPARATOR

A string which is used to separate base plugin IDs from the derivative ID.

Properties

protected string $pluginId

The plugin_id.

from  PluginBase
protected array $pluginDefinition

The plugin implementation definition.

from  PluginBase
protected array $configuration

Configuration information passed into the plugin.

from  PluginBase
protected TranslationInterface $stringTranslation

The string translation service.

from  StringTranslationTrait
protected array $_serviceIds

An array of service IDs keyed by property name used for serialization.

from  DependencySerializationTrait
protected array $_entityStorages

An array of entity type IDs keyed by the property name of their storages.

from  DependencySerializationTrait
protected MessengerInterface $messenger

The messenger.

from  MessengerTrait
protected array $settings

The formatter settings.

from  FormatterBase
protected array $thirdPartySettings

The plugin settings injected by third party modules.

from  PluginSettingsBase
protected bool $defaultSettingsMerged

Whether default settings have been merged into the current $settings.

from  PluginSettingsBase
protected FieldDefinitionInterface $fieldDefinition

The field definition.

from  FormatterBase
protected string $label

The label display setting.

from  FormatterBase
protected string $viewMode

The view mode.

from  FormatterBase
protected FileUrlGeneratorInterface $fileUrlGenerator

The file URL generator.

from  BaseFieldFileFormatterBase

Methods

__construct(string $plugin_id, mixed $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, string $label, string $view_mode, array $third_party_settings, FileUrlGeneratorInterface $file_url_generator = NULL)

Constructs a BaseFieldFileFormatterBase object.

string
getPluginId()

Gets the plugin_id of the plugin instance.

string
getBaseId()

Gets the base_plugin_id of the plugin instance.

string|null
getDerivativeId()

Gets the derivative_id of the plugin instance.

array
getPluginDefinition()

Gets the definition of the plugin implementation.

bool
isConfigurable()

Determines if the plugin is configurable.

t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

getStringTranslation()

Gets the string translation service.

$this
setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

__sleep()

{@inheritdoc}

__wakeup()

{@inheritdoc}

setMessenger(MessengerInterface $messenger)

Sets the messenger.

messenger()

Gets the messenger.

static array
defaultSettings()

Defines the default settings for this plugin.

array
getSettings()

Returns the array of settings, including defaults for missing settings.

mixed
getSetting(string $key)

Returns the value of a setting, or its default value if absent.

mergeDefaults()

Merges default settings values into $settings.

$this
setSettings(array $settings)

Sets the settings for the plugin.

$this
setSetting(string $key, mixed $value)

Sets the value of a setting for the plugin.

array
getThirdPartySettings(string $module = NULL)

Gets all third-party settings of a given module.

mixed
getThirdPartySetting(string $module, string $key, mixed $default = NULL)

Gets the value of a third-party setting.

$this
setThirdPartySetting(string $module, string $key, mixed $value)

Sets the value of a third-party setting.

mixed
unsetThirdPartySetting(string $module, string $key)

Unsets a third-party setting.

array
getThirdPartyProviders()

Gets the list of third parties that store information.

array
calculateDependencies()

Calculates dependencies for the configured plugin.

bool
onDependencyRemoval(array $dependencies)

Informs the plugin that some configuration it depends on will be deleted.

create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)

Creates an instance of the plugin.

array
view(FieldItemListInterface $items, string $langcode = NULL)

Builds a renderable array for a fully themed field.

array
settingsForm(array $form, FormStateInterface $form_state)

Returns a form to configure settings for the formatter.

string[]
settingsSummary()

Returns a short summary for the current formatter settings.

prepareView(array $entities_items)

Allows formatters to load information for field values being displayed.

array
getFieldSettings()

Returns the array of field settings.

mixed
getFieldSetting(string $setting_name)

Returns the value of a field setting.

static bool
isApplicable(FieldDefinitionInterface $field_definition)

Returns if the formatter can be used for the provided field.

array
viewElements(FieldItemListInterface $items, string $langcode)

Builds a renderable array for a field value.

mixed
viewValue(FieldItemInterface $item)

Generate the output appropriate for one field item.

Details

__construct(string $plugin_id, mixed $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, string $label, string $view_mode, array $third_party_settings, FileUrlGeneratorInterface $file_url_generator = NULL)

Constructs a BaseFieldFileFormatterBase object.

Parameters

string $plugin_id

The plugin_id for the plugin instance.

mixed $plugin_definition

The plugin implementation definition.

FieldDefinitionInterface $field_definition

The definition of the field to which the formatter is associated.

array $settings

The formatter settings.

string $label

The formatter label display setting.

string $view_mode

The view mode.

array $third_party_settings

Any third party settings.

FileUrlGeneratorInterface $file_url_generator

The file URL generator.

string getPluginId()

Gets the plugin_id of the plugin instance.

Return Value

string

The plugin_id of the plugin instance.

string getBaseId()

Gets the base_plugin_id of the plugin instance.

Return Value

string

The base_plugin_id of the plugin instance.

string|null getDerivativeId()

Gets the derivative_id of the plugin instance.

Return Value

string|null

The derivative_id of the plugin instance NULL otherwise.

array getPluginDefinition()

Gets the definition of the plugin implementation.

Return Value

array

The plugin definition, as returned by the discovery object used by the plugin manager.

bool isConfigurable()

Determines if the plugin is configurable.

Return Value

bool

A boolean indicating whether the plugin is configurable.

protected TranslatableMarkup t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.

In order for strings to be localized, make them available in one of the ways supported by the

Parameters

string $string

A string containing the English text to translate.

array $args

(optional) An associative array of replacements to make after translation. Based on the first character of the key, the value is escaped and/or themed. See \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for details.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'langcode' (defaults to the current language): A language code, to translate to a language other than what is used to display the page.
  • 'context' (defaults to the empty context): The context the source string belongs to. See the @link i18n Internationalization topic @endlink for more information about string contexts.

Return Value

TranslatableMarkup

An object that, when cast to a string, returns the translated string.

See also

FormattableMarkup::placeholderFormat
TranslatableMarkup::__construct

protected formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

Parameters

$count
$singular
$plural
array $args
array $options

See also

TranslationInterface::formatPlural

protected getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

Parameters

$langcode

See also

PluralFormulaInterface::getNumberOfPlurals

protected TranslationInterface getStringTranslation()

Gets the string translation service.

Return Value

TranslationInterface

The string translation service.

$this setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

Parameters

TranslationInterface $translation

The string translation service.

Return Value

$this

__sleep()

{@inheritdoc}

__wakeup()

{@inheritdoc}

setMessenger(MessengerInterface $messenger)

Sets the messenger.

Parameters

MessengerInterface $messenger

The messenger.

MessengerInterface messenger()

Gets the messenger.

Return Value

MessengerInterface

The messenger.

static array defaultSettings()

Defines the default settings for this plugin.

Return Value

array

A list of default settings, keyed by the setting name.

array getSettings()

Returns the array of settings, including defaults for missing settings.

Return Value

array

The array of settings.

mixed getSetting(string $key)

Returns the value of a setting, or its default value if absent.

Parameters

string $key

The setting name.

Return Value

mixed

The setting value.

protected mergeDefaults()

Merges default settings values into $settings.

$this setSettings(array $settings)

Sets the settings for the plugin.

Parameters

array $settings

The array of settings, keyed by setting names. Missing settings will be assigned their default values.

Return Value

$this

$this setSetting(string $key, mixed $value)

Sets the value of a setting for the plugin.

Parameters

string $key

The setting name.

mixed $value

The setting value.

Return Value

$this

array getThirdPartySettings(string $module = NULL)

Gets all third-party settings of a given module.

Parameters

string $module

The module providing the third-party settings.

Return Value

array

An array of key-value pairs.

mixed getThirdPartySetting(string $module, string $key, mixed $default = NULL)

Gets the value of a third-party setting.

Parameters

string $module

The module providing the third-party setting.

string $key

The setting name.

mixed $default

The default value

Return Value

mixed

The value.

$this setThirdPartySetting(string $module, string $key, mixed $value)

Sets the value of a third-party setting.

Parameters

string $module

The module providing the third-party setting.

string $key

The setting name.

mixed $value

The setting value.

Return Value

$this

mixed unsetThirdPartySetting(string $module, string $key)

Unsets a third-party setting.

Parameters

string $module

The module providing the third-party setting.

string $key

The setting name.

Return Value

mixed

The value.

array getThirdPartyProviders()

Gets the list of third parties that store information.

Return Value

array

The list of third parties.

array calculateDependencies()

Calculates dependencies for the configured plugin.

Dependencies are saved in the plugin's configuration entity and are used to determine configuration synchronization order. For example, if the plugin integrates with specific user roles, this method should return an array of dependencies listing the specified roles.

Return Value

array

An array of dependencies grouped by type (config, content, module, theme). For example: @code array( 'config' => array('user.role.anonymous', 'user.role.authenticated'), 'content' => array('node:article:f0a189e6-55fb-47fb-8005-5bef81c44d6d'), 'module' => array('node', 'user'), 'theme' => array('seven'), ); @endcode

bool onDependencyRemoval(array $dependencies)

Informs the plugin that some configuration it depends on will be deleted.

This method allows plugins to keep their configuration up-to-date when a dependency calculated with ::calculateDependencies() is removed. For example, an entity view display contains a formatter having a setting pointing to an arbitrary config entity. When that config entity is deleted, this method is called by the view display to react to the dependency removal by updating its configuration.

This method must return TRUE if the removal event updated the plugin configuration or FALSE otherwise.

Parameters

array $dependencies

An array of dependencies that will be deleted keyed by dependency type. Dependency types are 'config', 'content', 'module' and 'theme'.

Return Value

bool

TRUE if the plugin configuration has changed, FALSE if not.

static ContainerFactoryPluginInterface create(ContainerInterface $container, array $configuration, string $plugin_id, mixed $plugin_definition)

Creates an instance of the plugin.

Parameters

ContainerInterface $container

The container to pull out services used in the plugin.

array $configuration

A configuration array containing information about the plugin instance.

string $plugin_id

The plugin ID for the plugin instance.

mixed $plugin_definition

The plugin implementation definition.

Return Value

ContainerFactoryPluginInterface

Returns an instance of this plugin.

array view(FieldItemListInterface $items, string $langcode = NULL)

Builds a renderable array for a fully themed field.

Parameters

FieldItemListInterface $items

The field values to be rendered.

string $langcode

(optional) The language that should be used to render the field. Defaults to the current content language.

Return Value

array

A renderable array for a themed field with its label and all its values.

array settingsForm(array $form, FormStateInterface $form_state)

Returns a form to configure settings for the formatter.

Invoked from \Drupal\field_ui\Form\EntityDisplayFormBase to allow administrators to configure the formatter. The field_ui module takes care of handling submitted form values.

Parameters

array $form

The form where the settings form is being included in.

FormStateInterface $form_state

The current state of the form.

Return Value

array

The form elements for the formatter settings.

string[] settingsSummary()

Returns a short summary for the current formatter settings.

If an empty result is returned, a UI can still be provided to display a settings form in case the formatter has configurable settings.

Return Value

string[]

A short summary of the formatter settings.

prepareView(array $entities_items)

Allows formatters to load information for field values being displayed.

This should be used when a formatter needs to load additional information from the database in order to render a field, for example a reference field that displays properties of the referenced entities such as name or type.

This method operates on multiple entities. The $entities_items parameter is an array keyed by entity ID. For performance reasons, information for all involved entities should be loaded in a single query where possible.

Changes or additions to field values are done by directly altering the items.

Parameters

array $entities_items

An array with the field values from the multiple entities being rendered.

protected array getFieldSettings()

Returns the array of field settings.

Return Value

array

The array of settings.

protected mixed getFieldSetting(string $setting_name)

Returns the value of a field setting.

Parameters

string $setting_name

The setting name.

Return Value

mixed

The setting value.

static bool isApplicable(FieldDefinitionInterface $field_definition)

Returns if the formatter can be used for the provided field.

Parameters

FieldDefinitionInterface $field_definition

The field definition that should be checked.

Return Value

bool

TRUE if the formatter can be used, FALSE otherwise.

array viewElements(FieldItemListInterface $items, string $langcode)

Builds a renderable array for a field value.

Parameters

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.

protected mixed viewValue(FieldItemInterface $item)

Generate the output appropriate for one field item.

Parameters

FieldItemInterface $item

One field item.

Return Value

mixed

The textual output generated.