BaseFieldDefinition::setSettings

public BaseFieldDefinition::setSettings(array $settings)

Note that the method does not unset existing settings not specified in the incoming $settings array.

For example:

  // Given these are the default settings.
  $field_definition->getSettings() === [
    'fruit' => 'apple',
    'season' => 'summer',
  ];
  // Change only the 'fruit' setting.
  $field_definition->setSettings(['fruit' => 'banana']);
  // The 'season' setting persists unchanged.
  $field_definition->getSettings() === [
    'fruit' => 'banana',
    'season' => 'summer',
  ];

For clarity, it is preferred to use setSetting() if not all available settings are supplied.

Overrides DataDefinition::setSettings

File

core/lib/Drupal/Core/Field/BaseFieldDefinition.php, line 168

Class

BaseFieldDefinition
A class for defining entity fields.

Namespace

Drupal\Core\Field

Code

public function setSettings(array $settings) {
  // Assign settings individually, in order to keep the current values
  // of settings not specified in $settings.
  foreach ($settings as $setting_name => $setting) {
    $this->getItemDefinition()->setSetting($setting_name, $setting);
  }
  return $this;
}
doc_Drupal
2016-10-29 08:45:45
Comments
Leave a Comment

Please login to continue.