Ich möchte ein verstecktes Feld in meiner symfony Form ohne Präfix. Dieses Feld speichert einige Informationen, die ich brauchte, um den Formulartyp in meinem Listener neu zu erstellen. Ich möchte nicht über alle $request
Parameter iterieren, um das richtige Formular zu erhalten, also möchte ich einfaches Feld ohne Präfix hinzufügen. Dies muss im Form Builder behandelt werden, da das Frontend nicht Teil des Bundles ist.Symfony Formular Feld ohne Präfix hinzufügen
Aktuelle vereinfachte Code:
$builder->add('firstName'; TextType::class);
$builder->add('lastName'; TextType::class);
// ...
// field without prefix
$builder->add('someValue', HiddenType::class, ['mapped' => false]);
Erwartetes Ergebnis:
<input type="text" name="form_name[firstName]" />
<input type="text" name="form_name[lastName]" />
<!-- ... -->
<input type="hidden" name="someValue" /> <!-- without prefix -->
Die Sache ist, ich es mit $request->request->get('someValue')
zugreifen müssen. Da mein Formularname dynamisch ist, kann ich nicht auf das Array zugreifen.
Ist das möglich?
Während die meisten Dinge möglich sind, wird dieser Sie Ihr Haar ausreißen lassen. Das Präfix wird verwendet, um gebuchte Daten mit handleRequest abzubilden. Sie können es wirklich nicht einfach weglassen und erwarten, dass die Formularkomponente funktioniert.Ich bin Ihrem Anwendungsfall nicht ganz gefolgt, aber wenn es sich um einen schreibgeschützten Wert handelt, der nicht von der Formularkomponente verarbeitet werden muss, geben Sie den HTML-Code möglicherweise direkt in Ihrer Zweigvorlage aus. – Cerad
@Cerad wie gesagt das Frontend ist nicht Teil des Bundles und ich möchte nicht, dass jeder Formular-Theme-Ersteller diese Werte jedes Mal hinzufügen muss, wenn sie ein Formular erstellen. –