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 ; } |
Please login to continue.