public function FieldItemBase::setValue

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

Parameters

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

Overrides Map::setValue

5 calls to FieldItemBase::setValue()
EntityReferenceItem::setValue in drupal/core/lib/Drupal/Core/Entity/Field/Type/EntityReferenceItem.php
Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().
FileItem::setValue in drupal/core/modules/file/lib/Drupal/file/Type/FileItem.php
Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().
ImageItem::setValue in drupal/core/modules/image/lib/Drupal/image/Type/ImageItem.php
Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().
LanguageItem::setValue in drupal/core/lib/Drupal/Core/Entity/Field/Type/LanguageItem.php
Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().
TaxonomyTermReferenceItem::setValue in drupal/core/modules/taxonomy/lib/Drupal/taxonomy/Type/TaxonomyTermReferenceItem.php
Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().
5 methods override FieldItemBase::setValue()
EntityReferenceItem::setValue in drupal/core/lib/Drupal/Core/Entity/Field/Type/EntityReferenceItem.php
Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().
FileItem::setValue in drupal/core/modules/file/lib/Drupal/file/Type/FileItem.php
Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().
ImageItem::setValue in drupal/core/modules/image/lib/Drupal/image/Type/ImageItem.php
Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().
LanguageItem::setValue in drupal/core/lib/Drupal/Core/Entity/Field/Type/LanguageItem.php
Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().
TaxonomyTermReferenceItem::setValue in drupal/core/modules/taxonomy/lib/Drupal/taxonomy/Type/TaxonomyTermReferenceItem.php
Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().

File

drupal/core/lib/Drupal/Core/Entity/Field/FieldItemBase.php, line 45
Contains \Drupal\Core\Entity\Field\FieldItemBase.

Class

FieldItemBase
An entity field item.

Namespace

Drupal\Core\Entity\Field

Code

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

  // Treat the values as property value of the first property, if no array is
  // given.
  if (isset($values) && !is_array($values)) {
    $keys = array_keys($this
      ->getPropertyDefinitions());
    $values = array(
      $keys[0] => $values,
    );
  }

  // Notify the parent of any changes to be made.
  if ($notify && isset($this->parent)) {
    $this->parent
      ->onChange($this->name);
  }
  $this->values = $values;

  // Update any existing property objects.
  foreach ($this->properties as $name => $property) {
    $value = NULL;
    if (isset($values[$name])) {
      $value = $values[$name];
    }
    $property
      ->setValue($value, FALSE);
    unset($this->values[$name]);
  }
}