Wie pre-wählen Sie eine form-radio-Element mit Symfony 2?
Arbeite ich an einer Sprache, die Wahl der form:
$currentLocale = "en_US"; //This is indeed sent to the formType
$langs = array(
'fr_FR' => 'fr',
'en_US' => 'en'
);
$builder->add('language', 'language', array(
'choices' => $langs,
'expanded' => true,
'multiple' => false,
'required' => false,
'label' => false,
));
Den HTML-code sieht wie folgt aus (vereinfacht):
<div id="languageForm_language">
<input type="radio" value="fr_FR">
<input type="radio" value="en_US">
</div>
Wie könnte ich den zweiten Eintrag in die Vorauswahl, nach der $currentLocale
Wert ?
Ist das Formular gebunden, um ein Daten-Objekt, oder ist es eine "einfache" form?
InformationsquelleAutor Yako | 2013-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem
$langs
array können Sie festlegen, Schlüssel-Wert-Paare wie dieses:Nun, Sie wollen z.B. eine Vorauswahl
value2
können Sie diedata
- Attribut, um den Schlüssel ausvalue2
:Nach diesem, können Sie Ihre
data
- Attribut auf Ihre$currentLocale
variable auszuwählen. Ihr code sollte wie folgt Aussehen:Hinweis: der zweite parameter von der
add()
Methode solltechoice
nichtlanguage
.Ich verstehe meinen code sollte funktionieren. Jedoch, es immer noch nicht für mich... ich denke ich verpasse etwas, irgendwo...
Sie änderte den zweiten parameter
choice?
Bearbeitet meine Antwort, den code Hinzugefügt, das funktioniert für michJa, ich habe diese änderung vorzunehmen...
Dann ist das problem in einem anderen Teil des Codes.
InformationsquelleAutor bpoiss
Wenn das Formular verwendet wird, mit einem Modell-Objekt, setzen Sie einfach die Sprache auf das Objekt selbst vor der übergabe an das Formular:
Andernfalls, setzen Sie die
data
- option auf die Standard-Sprache Schlüssel:InformationsquelleAutor Elnur Abdurrakhimov