| name | drupal-fields |
| description | Drupal fields — field types, widgets, formatters, drush field:create, field storage/config, and accessing single-value and multi-value field values in PHP code. |
Drupal Fields
Creating Fields (Drush — CLI First)
Always use drush field:create instead of manually creating field config files.
drush field:create
drush field:create node article \
--field-name=field_subtitle \
--field-label="Subtitle" \
--field-type=string \
--field-widget=string_textfield \
--is-required=0 \
--cardinality=1
drush field:create node article \
--field-name=field_tags \
--field-label="Tags" \
--field-type=entity_reference \
--field-widget=entity_reference_autocomplete \
--cardinality=-1 \
--target-type=taxonomy_term
drush field:create node article \
--field-name=field_image \
--field-label="Image" \
--field-type=image \
--field-widget=image_image \
--is-required=0 \
--cardinality=1
Managing Fields
drush field:info node article
drush field:delete node.article.field_subtitle
drush field:types
drush field:widgets
drush field:formatters
Export After Creating Fields
drush config:export -y
Custom Field Type (Plugin)
drush generate plugin:field:type
drush generate plugin:field:formatter
drush generate plugin:field:widget
Accessing Field Values in Code
$value = $entity->get('field_name')->value;
$referenced = $entity->get('field_ref')->entity;
foreach ($entity->get('field_multi') as $item) {
$value = $item->value;
}