Я использую модуль Inline Entity Form для создания multiple вложенных форм. У меня есть форма design, в которой есть инлайн форма - garment. А внутри формы garment есть поле product.
В hook_inline_entity_form_entity_form_alter()
я получаю $field_product_user_input
:
<?php
$field_product_user_input = $form_state->getUserInput()['field_design']['form']['inline_entity_form']['entities']['0']['form']['field_garment']['form']['inline_entity_form']['entities']['0']['form']['field_product']['0']['target_id'];
?>
Это происходит потому, что вторая форма имеет ключ «1» в массиве «entities», а в приведенном выше коде для первой формы используется «0».
$form_state->getUserInput() показывает этот результат:
'field_design' => [
'form' => [
'inline_entity_form' => [
'entities' => [
'0' => [
'form' => [
'field_garment' => [
'form' => [
'inline_entity_form' => [
'entities' => [
'0' => [...],
'1' => [...] // new garment
],
],
],
],
],
],
],
],
],
],
];