function FieldTestHooks::alterWidget
Sets up alterations for widget alter tests.
See also
\Drupal\field\Tests\FormTest::widgetAlterTest()
3 calls to FieldTestHooks::alterWidget()
- FieldTestHooks::fieldWidgetCompleteFormAlter in core/
modules/ field/ tests/ modules/ field_test/ src/ Hook/ FieldTestHooks.php - Implements hook_field_widget_complete_form_alter().
- FieldTestHooks::fieldWidgetCompleteTestFieldWidgetMultipleFormAlter in core/
modules/ field/ tests/ modules/ field_test/ src/ Hook/ FieldTestHooks.php - Implements hook_field_widget_complete_WIDGET_TYPE_form_alter().
- FieldTestHooks::fieldWidgetCompleteTestFieldWidgetMultipleSingleValueFormAlter in core/
modules/ field/ tests/ modules/ field_test/ src/ Hook/ FieldTestHooks.php - Implements hook_field_widget_complete_WIDGET_TYPE_form_alter().
File
-
core/
modules/ field/ tests/ modules/ field_test/ src/ Hook/ FieldTestHooks.php, line 216
Class
- FieldTestHooks
- Hook implementations for field_test.
Namespace
Drupal\field_test\HookCode
public function alterWidget($hook, array &$field_widget_complete_form, FormStateInterface $form_state, array $context) : void {
$elements =& $field_widget_complete_form['widget'];
// Set a message if this is for the form displayed to set default value for
// the field.
if ($context['default']) {
\Drupal::messenger()->addStatus("From {$hook}(): Default form is true.");
}
$alter_info = \Drupal::state()->get("field_test.widget_alter_test");
$name = $context['items']->getFieldDefinition()
->getName();
if (!empty($alter_info) && $hook === $alter_info['hook'] && $name === $alter_info['field_name']) {
$elements['#prefix'] = "From {$hook}(): prefix on {$name} parent element.";
foreach (Element::children($elements) as $delta => $element) {
$elements[$delta]['#suffix'] = "From {$hook}(): suffix on {$name} child element.";
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.