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:

1
2
3
4
5
6
7
8
9
10
11
12
// 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

1
2
3
4
5
6
7
8
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
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.