Моя цель довольно проста, мне нужно сгруппировать несколько наборов полей в набор полей, как показано на изображении ниже:
Я пробовал со следующим кодом:
общедоступная функция buildPaneForm (массив $pane_form, FormStateInterface $form_state, массив и $complete_form) {
foreach ($this -> order -> getItems() as $key => $order_item) {
dpm($order_item -> getPurchasedEntity() -> getProduct() -> bundle());
$ количество = раунд ($ order_item -> getQuantity ());
$pane_form['pilot_'.$key] = массив(
'#title' => $order_item -> getPurchasedEntity() -> getProduct() -> getTitle(),
'#тип' => 'набор полей',
'#description' => "Saisissez les coordonnées des pilotes à assurer",
);
for($i = 0; $i < $количество; $i++) {
$pane_form['pilot_'.$key]['ss_pilot_'.$i] = массив(
'#title' => 'Пилот '.($i+1),
'#тип' => 'набор полей',
);
$pane_form['pilot'.$key]['ss_pilot_'.$i]['pilot_nom_'.$i] = массив(
'#тип' => 'текстовое поле',
'#название' => 'Имя',
'#значение_по_умолчанию' => '',
'#required' => ИСТИНА,
'#размер' => 20,
'#атрибуты' => массив(),
);
$pane_form['pilot'.$key]['ss_pilot_'.$i]['pilot_prenom_'.$i] = массив(
'#тип' => 'текстовое поле',
'#title' => 'Премиум',
'#required' => ИСТИНА,
'#значение_по_умолчанию' => '',
'#размер' => 20,
'#атрибуты' => массив(),
);
$pane_form['pilot'.$key]['ss_pilot_'.$i]['pilot_email_'.$i] = массив(
'#тип' => 'текстовое поле',
'#title' => 'Электронная почта',
'#значение_по_умолчанию' => '',
'#required' => ИСТИНА,
'#размер' => 20,
'#атрибуты' => массив(),
);
}
};
вернуть $pane_form;
}
но я все еще получаю это:
может ли кто-нибудь помочь мне получить желаемый результат?
Заранее спасибо за ответы :-)