You are here

public static function LanguageItem::generateSampleValue in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php \Drupal\Core\Field\Plugin\Field\FieldType\LanguageItem::generateSampleValue()
  2. 9 core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php \Drupal\Core\Field\Plugin\Field\FieldType\LanguageItem::generateSampleValue()

Generates placeholder field values.

Useful when populating site with placeholder content during site building or profiling.

Parameters

\Drupal\Core\Field\FieldDefinitionInterface $field_definition: The field definition.

Return value

array An associative array of values.

Overrides FieldItemBase::generateSampleValue

File

core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php, line 112

Class

LanguageItem
Defines the 'language' entity field item.

Namespace

Drupal\Core\Field\Plugin\Field\FieldType

Code

public static function generateSampleValue(FieldDefinitionInterface $field_definition) {

  // Defer to the callback in the item definition as it can be overridden.
  $constraint = $field_definition
    ->getItemDefinition()
    ->getConstraint('ComplexData');
  if (isset($constraint['value']['AllowedValues']['callback'])) {
    $languages = call_user_func($constraint['value']['AllowedValues']['callback']);
  }
  else {
    $languages = array_keys(\Drupal::languageManager()
      ->getLanguages(LanguageInterface::STATE_ALL));
  }
  $values['value'] = $languages[array_rand($languages)];
  return $values;
}