You are here

public function LanguageItem::setValue 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::setValue()
  2. 9 core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php \Drupal\Core\Field\Plugin\Field\FieldType\LanguageItem::setValue()

Overrides \Drupal\Core\TypedData\TypedData::setValue().

Parameters

array|null $values: An array of property values.

bool $notify: (optional) Whether to notify the parent object of the change. Defaults to TRUE. If a property is updated from a parent object, set it to FALSE to avoid being notified again.

Overrides FieldItemBase::setValue

2 calls to LanguageItem::setValue()
DefaultLanguageItem::applyDefaultValue in core/modules/language/src/DefaultLanguageItem.php
Applies the default value.
LanguageItem::applyDefaultValue in core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php
Applies the default value.

File

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

Class

LanguageItem
Defines the 'language' entity field item.

Namespace

Drupal\Core\Field\Plugin\Field\FieldType

Code

public function setValue($values, $notify = TRUE) {

  // Treat the values as property value of the language property, if no array
  // is given as this handles language codes and objects.
  if (isset($values) && !is_array($values)) {
    $this
      ->set('language', $values, $notify);
  }
  else {

    // Make sure that the 'language' property gets set as 'value'.
    if (isset($values['value']) && !isset($values['language'])) {
      $values['language'] = $values['value'];
    }
    parent::setValue($values, $notify);
  }
}