diff --git a/src/Plugin/Field/FieldWidget/InlineEntityFormSimple.php b/src/Plugin/Field/FieldWidget/InlineEntityFormSimple.php index cd2ebd126f2f9c020132fda7f73531d172259232..0a60007c7f08be345591202cbcf099a1254b5ad0 100644 --- a/src/Plugin/Field/FieldWidget/InlineEntityFormSimple.php +++ b/src/Plugin/Field/FieldWidget/InlineEntityFormSimple.php @@ -148,13 +148,18 @@ class InlineEntityFormSimple extends InlineEntityFormBase { /** @var \Drupal\Core\Entity\EntityInterface $entity */ $entity = $element['inline_entity_form']['#entity']; $weight = $submitted_values[$delta]['_weight'] ?? 0; - $values[$weight] = ['entity' => $entity]; + $values[] = ['entity' => $entity, 'weight' => $weight]; } } // Sort items base on weights. - ksort($values); - $values = array_values($values); + usort($values, function ($a, $b) { + return $a['weight'] <=> $b['weight']; + }); + + $values = array_map(function ($item) { + return $item['entity']; + }, $values); // Let the widget massage the submitted values. $values = $this->massageFormValues($values, $form, $form_state);