public BaseFieldDefinition::getDefaultValue(FieldableEntityInterface $entity)
Returns the default value for the field in a newly created entity.
This method computes the runtime default value for a field in a given entity. To access the raw properties assigned to the field definition, ::getDefaultValueLiteral() or ::getDefaultValueCallback() should be used instead.
Parameters
\Drupal\Core\Entity\FieldableEntityInterface $entity: The entity for which the default value is generated.
Return value
array The default value for the field, as a numerically indexed array of items, each item being a property/value array (array() for no default value).
Overrides FieldDefinitionInterface::getDefaultValue
See also
FieldDefinitionInterface::getDefaultValueLiteral()
FieldDefinitionInterface::getDefaultValueCallback()
File
- core/lib/Drupal/Core/Field/BaseFieldDefinition.php, line 454
Class
- BaseFieldDefinition
- A class for defining entity fields.
Namespace
Drupal\Core\Field
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | public function getDefaultValue(FieldableEntityInterface $entity ) { // Allow custom default values function. if ( $callback = $this ->getDefaultValueCallback()) { $value = call_user_func( $callback , $entity , $this ); } else { $value = $this ->getDefaultValueLiteral(); } // Normalize into the "array keyed by delta" format. if (isset( $value ) && ! is_array ( $value )) { $properties = $this ->getPropertyNames(); $property = reset( $properties ); $value = array ( array ( $property => $value ), ); } // Allow the field type to process default values. $field_item_list_class = $this ->getClass(); return $field_item_list_class ::processDefaultValue( $value , $entity , $this ); } |
Please login to continue.