You are here

public function MediaLibrarySettingType::settingsPreprocess in UI Patterns Settings 8.2

Preprocess setting variable.

Parameters

string $value: The stored value.

array $context: Context informations. Keys:

  • entity.

\Drupal\ui_patterns_settings\Definition\PatternDefinitionSetting $def: The pattern definition.

Return value

string The processed value.

Overrides PatternSettingTypeBase::settingsPreprocess

File

src/Plugin/UiPatterns/SettingType/MediaLibrarySettingType.php, line 29

Class

MediaLibrarySettingType
Media Library setting type.

Namespace

Drupal\ui_patterns_settings\Plugin\UIPatterns\SettingType

Code

public function settingsPreprocess($value, array $context, PatternDefinitionSetting $def) {
  $view_mode = $def
    ->getValue('view_mode');
  if (empty($view_mode)) {
    return $value;
  }
  elseif (intval($value)) {
    $media_id = $value;
    $media = Media::load($media_id);
    if ($media !== NULL) {
      $view_mode_builder = $this->entityTypeManager
        ->getViewBuilder('media');
      return $view_mode_builder
        ->view($media, $view_mode);
    }
    else {
      return '';
    }
  }
}