class FilemimeFormatter

Same name and namespace in other branches
  1. 9 core/modules/file/src/Plugin/Field/FieldFormatter/FilemimeFormatter.php \Drupal\file\Plugin\Field\FieldFormatter\FilemimeFormatter
  2. 8.9.x core/modules/file/src/Plugin/Field/FieldFormatter/FilemimeFormatter.php \Drupal\file\Plugin\Field\FieldFormatter\FilemimeFormatter
  3. 11.x core/modules/file/src/Plugin/Field/FieldFormatter/FilemimeFormatter.php \Drupal\file\Plugin\Field\FieldFormatter\FilemimeFormatter

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

Attributes

#[FieldFormatter(id: 'file_filemime', label: new TranslatableMarkup('File MIME'), field_types: [ 'string', ])]

Hierarchy

Expanded class hierarchy of FilemimeFormatter

File

core/modules/file/src/Plugin/Field/FieldFormatter/FilemimeFormatter.php, line 14

Namespace

Drupal\file\Plugin\Field\FieldFormatter
View source
class FilemimeFormatter extends BaseFieldFileFormatterBase {
  
  /**
   * {@inheritdoc}
   */
  public static function isApplicable(FieldDefinitionInterface $field_definition) {
    return parent::isApplicable($field_definition) && $field_definition->getName() === 'filemime';
  }
  
  /**
   * {@inheritdoc}
   */
  public static function defaultSettings() {
    $settings = parent::defaultSettings();
    $settings['filemime_image'] = FALSE;
    return $settings;
  }
  
  /**
   * {@inheritdoc}
   */
  public function settingsForm(array $form, FormStateInterface $form_state) {
    $form = parent::settingsForm($form, $form_state);
    $form['filemime_image'] = [
      '#title' => $this->t('Display an icon'),
      '#description' => $this->t('The icon is representing the file type, instead of the MIME text (such as "image/jpeg")'),
      '#type' => 'checkbox',
      '#default_value' => $this->getSetting('filemime_image'),
    ];
    return $form;
  }
  
  /**
   * {@inheritdoc}
   */
  protected function viewValue(FieldItemInterface $item) {
    $value = $item->value;
    if ($this->getSetting('filemime_image') && $value) {
      $file_icon = [
        '#theme' => 'image__file_icon',
        '#file' => $item->getEntity(),
      ];
      return $file_icon;
    }
    return $value;
  }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
BaseFieldFileFormatterBase::$fileUrlGenerator protected property The file URL generator.
BaseFieldFileFormatterBase::create public static function Creates an instance of the plugin. Overrides FormatterBase::create
BaseFieldFileFormatterBase::viewElements public function Builds a renderable array for a field value. Overrides FormatterInterface::viewElements
BaseFieldFileFormatterBase::__construct public function Constructs a BaseFieldFileFormatterBase object. Overrides FormatterBase::__construct
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function #[\ReturnTypeWillChange] 2
FilemimeFormatter::defaultSettings public static function Defines the default settings for this plugin. Overrides BaseFieldFileFormatterBase::defaultSettings
FilemimeFormatter::isApplicable public static function Returns if the formatter can be used for the provided field. Overrides BaseFieldFileFormatterBase::isApplicable
FilemimeFormatter::settingsForm public function Returns a form to configure settings for the formatter. Overrides BaseFieldFileFormatterBase::settingsForm
FilemimeFormatter::viewValue protected function Generate the output appropriate for one field item. Overrides BaseFieldFileFormatterBase::viewValue
FormatterBase::$fieldDefinition protected property The field definition.
FormatterBase::$label protected property The label display setting.
FormatterBase::$settings protected property The formatter settings. Overrides PluginSettingsBase::$settings
FormatterBase::$viewMode protected property The view mode.
FormatterBase::getFieldSetting protected function Returns the value of a field setting.
FormatterBase::getFieldSettings protected function Returns the array of field settings.
FormatterBase::prepareView public function Overrides FormatterInterface::prepareView 2
FormatterBase::settingsSummary public function Overrides FormatterInterface::settingsSummary 23
FormatterBase::view public function Overrides FormatterInterface::view 1
MessengerTrait::$messenger protected property The messenger. 16
MessengerTrait::messenger public function Gets the messenger. 16
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin.
PluginBase::$pluginDefinition protected property The plugin implementation definition.
PluginBase::$pluginId protected property The plugin ID.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Overrides PluginInspectionInterface::getPluginDefinition
PluginBase::getPluginId public function Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginSettingsBase::$defaultSettingsMerged protected property Whether default settings have been merged into the current $settings.
PluginSettingsBase::$thirdPartySettings protected property The plugin settings injected by third party modules.
PluginSettingsBase::calculateDependencies public function Overrides DependentPluginInterface::calculateDependencies 6
PluginSettingsBase::getSetting public function Overrides PluginSettingsInterface::getSetting
PluginSettingsBase::getSettings public function Overrides PluginSettingsInterface::getSettings
PluginSettingsBase::getThirdPartyProviders public function Overrides ThirdPartySettingsInterface::getThirdPartyProviders
PluginSettingsBase::getThirdPartySetting public function Overrides ThirdPartySettingsInterface::getThirdPartySetting
PluginSettingsBase::getThirdPartySettings public function Overrides ThirdPartySettingsInterface::getThirdPartySettings
PluginSettingsBase::mergeDefaults protected function Merges default settings values into $settings.
PluginSettingsBase::onDependencyRemoval public function Overrides PluginSettingsInterface::onDependencyRemoval 3
PluginSettingsBase::setSetting public function Overrides PluginSettingsInterface::setSetting
PluginSettingsBase::setSettings public function Overrides PluginSettingsInterface::setSettings
PluginSettingsBase::setThirdPartySetting public function Overrides ThirdPartySettingsInterface::setThirdPartySetting
PluginSettingsBase::unsetThirdPartySetting public function Overrides ThirdPartySettingsInterface::unsetThirdPartySetting
StringTranslationTrait::$stringTranslation protected property The string translation service. 3
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.