class OptionsDefaultFormatter

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

Plugin implementation of the 'list_default' formatter.

Attributes

#[FieldFormatter(id: 'list_default', label: new TranslatableMarkup('Default'), field_types: [ 'list_integer', 'list_float', 'list_string', ])]

Hierarchy

Expanded class hierarchy of OptionsDefaultFormatter

File

core/modules/options/src/Plugin/Field/FieldFormatter/OptionsDefaultFormatter.php, line 15

Namespace

Drupal\options\Plugin\Field\FieldFormatter
View source
class OptionsDefaultFormatter extends FormatterBase {
  
  /**
   * {@inheritdoc}
   */
  public function viewElements(FieldItemListInterface $items, $langcode) {
    $elements = [];
    // Only collect allowed options if there are actually items to display.
    if ($items->count()) {
      $provider = $items->getFieldDefinition()
        ->getFieldStorageDefinition()
        ->getOptionsProvider('value', $items->getEntity());
      // Flatten the possible options, to support opt groups.
      $options = OptGroup::flattenOptions($provider->getPossibleOptions());
      foreach ($items as $delta => $item) {
        $value = $item->value;
        // If the stored value is in the current set of allowed values, display
        // the associated label, otherwise just display the raw value.
        $output = $options[$value] ?? $value;
        $elements[$delta] = [
          '#markup' => $output,
          '#allowed_tags' => FieldFilteredMarkup::allowedTags(),
        ];
      }
    }
    return $elements;
  }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
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::create public static function Overrides ContainerFactoryPluginInterface::create 13
FormatterBase::getFieldSetting protected function Returns the value of a field setting.
FormatterBase::getFieldSettings protected function Returns the array of field settings.
FormatterBase::isApplicable public static function Overrides FormatterInterface::isApplicable 12
FormatterBase::prepareView public function Overrides FormatterInterface::prepareView 2
FormatterBase::settingsForm public function Overrides FormatterInterface::settingsForm 24
FormatterBase::settingsSummary public function Overrides FormatterInterface::settingsSummary 23
FormatterBase::view public function Overrides FormatterInterface::view 1
FormatterBase::__construct public function Constructs a FormatterBase object. 13
OptionsDefaultFormatter::viewElements public function Overrides FormatterInterface::viewElements
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
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::defaultSettings public static function Overrides PluginSettingsInterface::defaultSettings 42
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

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