Am o formă destul de complexă bazată pe \Drupal\Core\Form\FormBase
cu multe câmpuri (imbricate parțial) și doriți să trimiteți conținutul complet într-un e-mail la trimitere.
Momentan am
funcția publică submitForm(matrice &$form, FormStateInterface $form_state)
{
foreach ($form_state->getValues() ca $key => $value) {
if (!empty($form[$key]['#title']) && $key != 'imagini') {
$values[$form[$key]['#title']->render()] = $value;
}
}
...
# mai târziu voi formata matricea $values ca o listă HTML
Acest lucru ar afișa numai câmpuri la nivelul superior al formularului, dar am câmpuri în grupuri.
Există o modalitate frumoasă și curată de a reda toate valorile câmpului? Sau trebuie să iterez și să analizez manual peste $form
matrice?
Aș putea folosi chiar și un renderer pentru asta?
EDITAȚI | ×:
funcția publică buildForm(array $form, FormStateInterface $form_state) {
// ...
$form['companie'] = [
'#type' => 'container',
];
$form['company']['nameofcompany'] = [
'#type' => 'câmp text',
'#title' => $this->t('Numele companiei'),
];
Pentru a rezuma:
Cum pot itera peste toate câmpurile, inclusiv pe cele care sunt în containere și să obțin valorile + eticheta (nu doar denumirea tehnică)? Există niște ajutoare drăguți pentru asta sau trebuie să fac totul manual?