#copac
Creează o ierarhie de valori în handlerul de trimitere al unui formular.
Comparaţie:
funcția publică buildForm(array $form, FormStateInterface $form_state) {
$form['container'] = [
'#type' => 'container',
];
$form['container']['some_value'] = [
„#type” => „câmp text”,
];
// Butoanele de trimitere etc. nu sunt afișate
returnează $form;
}
Acest lucru va crea un element de formular. După ce faceți clic pe trimite, cheia elementului de formular este folosită pentru a returna valoarea. în acest caz, cheia este ceva_valoare
, ceea ce înseamnă că gestionanții de validare și trimitere pot prelua valoarea trimisă cu form_state->getValue('some_value')
.
Acum, adaugă #copac
la container:
funcția publică buildForm(array $form, FormStateInterface $form_state) {
$form['container'] = [
'#type' => 'container',
„#tree” => ADEVĂRAT,
];
$form['container']['some_value'] = [
„#type” => „câmp text”,
];
// Butoanele de trimitere etc. nu sunt afișate
returnează $form;
}
Cu această schimbare, $form_state->getValue('some_value')
nu va returna nimic, deoarece valoarea este acum parte a elementului container (the #copac
element) și trebuie să fie preluat în raport cu acesta:
// Returnează o matrice cu o singură cheie, „some_value”, care conține
// valoarea trimisă.
$form_state->getValue('container')
// Returnează valoarea trimisă:
$form_state->getValue(['container', 'some_value'])