hook_field_widget_form_alter(&$element, \Drupal\Core\Form\FormStateInterface $form_state, $context)
Alter forms for field widgets provided by other modules.
Parameters
$element: The field widget form element as constructed by hook_field_widget_form().
$form_state: The current state of the form.
$context: An associative array containing the following key-value pairs:
- form: The form structure to which widgets are being attached. This may be a full form structure, or a sub-element of a larger form.
- widget: The widget plugin instance.
- items: The field values, as a \Drupal\Core\Field\FieldItemListInterface object.
- delta: The order of this item in the array of subelements (0, 1, 2, etc).
- default: A boolean indicating whether the form is being shown as a dummy form to set default values.
See also
\Drupal\Core\Field\WidgetBase::formSingleElement()
hook_field_widget_WIDGET_TYPE_form_alter()
Related topics
- Field Widget API
- Define Field API widget types.
- Hooks
- Define functions that alter the behavior of Drupal core.
File
- core/modules/field/field.api.php, line 158
- Field API documentation.
Code
function hook_field_widget_form_alter(&$element, \Drupal\Core\Form\FormStateInterface $form_state, $context) { // Add a css class to widget form elements for all fields of type mytype. $field_definition = $context['items']->getFieldDefinition(); if ($field_definition->getType() == 'mytype') { // Be sure not to overwrite existing attributes. $element['#attributes']['class'][] = 'myclass'; } }
Please login to continue.