diff -u b/prepopulate.module b/prepopulate.module --- b/prepopulate.module +++ b/prepopulate.module @@ -16,7 +16,7 @@ if ($form_state->isRebuilding()) { return; } - if (\Drupal::request()->query->get('edit')) { + if (\Drupal::request()->query->has('edit')) { $form['#after_build'][] = 'prepopulate_after_build'; } } diff -u b/src/Populate.php b/src/Populate.php --- b/src/Populate.php +++ b/src/Populate.php @@ -81,17 +81,18 @@ if (is_array($request_slice)) { foreach (array_keys($request_slice) as $request_variable) { if (isset($form[$request_variable])) { - if (isset($form[$request_variable]['widget'][0]['value']['#type'])) { - $type = $form[$request_variable]['widget'][0]['value']['#type']; + $element = &$form[$request_variable]; + if (isset($element['widget'][0]['value']['#type'])) { + $type = $element['widget'][0]['value']['#type']; } - elseif (isset($form[$request_variable]['widget'][0]['target_id']['#type'])) { - $type = $form[$request_variable]['widget'][0]['target_id']['#type']; + elseif (isset($element['widget'][0]['target_id']['#type'])) { + $type = $element['widget'][0]['target_id']['#type']; } - elseif (isset($form[$request_variable]['widget']['#type'])) { - $type = $form[$request_variable]['widget']['#type']; + elseif (isset($element['widget']['#type'])) { + $type = $element['widget']['#type']; } - if (Element::child($request_variable) && !empty($form[$request_variable]) && (empty($type) || in_array($type, $this->whitelistedTypes))) { - $this->populateForm($form[$request_variable], $request_slice[$request_variable]); + if (Element::child($request_variable) && !empty($element) && (empty($type) || in_array($type, $this->whitelistedTypes))) { + $this->populateForm($element, $request_slice[$request_variable]); } } } @@ -127,13 +128,13 @@ * * @param $value * The value. - * @param $element + * @param array $element * The form element to populate. * * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException */ - protected function formatEntityAutocomplete($value, &$element) { + protected function formatEntityAutocomplete($value, array &$element) { $entity = $this->entityTypeManager ->getStorage($element['#target_type']) ->load($value);