Symfony2, wie render-Checkboxen?
Ich habe einen formbuilder form mit multiple-choice-Liste von Ländern. Wenn ich Sie Rendern auf meinem Formular wie dieses:
{{ form_widget(edit_form.countries) }}
Erscheinen Sie wie diese:
<input type="checkbox" name="..." value="AD" /><label for="...">Andorra</label>
<input type="checkbox" name="..." value="AE" /><label for="...">United Arab Emirates</label>
<input type="checkbox" name="..." value="AF" /><label for="...">Afghanistan</label>
Ich möchte jede option angezeigt auf einer eigenen Zeile in den browser ein, anstatt alles in eine Zeile. Wie kann ich html injizieren oder um zwischen den Optionen? Oder gibt es eine CSS-Methode, dies zu erreichen?
Dank.
InformationsquelleAutor user747252 | 2011-12-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus Der Symfony-Docs
Was Sie im Grunde tun müssen, ist, um eine überlastung checkbox_widget block.
Natürlich können Sie Ihre widgets in einer eigenen Zeile mit CSS (aber es ist nicht eine Symfony2 Frage).
Finde ich nicht die docs auch klar, entweder.
Ich fand diese andere Art der Wiedergabe Kontrollkästchen hilfreich, zu: stackoverflow.com/a/13546572/199712
Hängt davon ab, was Sie versuchen zu erreichen. Anzeige Felder einzeln vorgeschlagen, in einer Antwort verbunden, indem Sie Sie zwingt Sie dazu kopieren Sie die gleichen html-Schnipsel überall, wo Sie möchten, verwenden Sie ein Kontrollkästchen. Es könnte nützlich sein, in einigen Fällen, D. H. wenn Sie nicht über die konsequente Art der Darstellung von Checkboxen. Die meisten der Zeit, es ist besser, diesen block einmal definiert, vor allem, wenn es immer das gleiche.
Recht. In einigen Fällen wird diese Antwort könnte hilfreich sein, und in anderen Fällen die Antwort, die ich verlinkt hilfreich sein könnten.
InformationsquelleAutor Jakub Zalas
Ein fauler Weg, den ich gefunden, dies zu tun war, um zu Durchlaufen und die form/Wahl-array.
In seiner einfachsten Form, die Darstellung einer form, die Sie machen könnten:
Für ein wenig mehr Granularität, die Sie machen könnten:
Aber wenn "itemA" ist ein multi-Wahl, Sie stecken mit der gesamten Liste immer gerendert auf der gleichen Linie. Wenn Sie sich für nur ein wenig mehr Granularität, bevor Sie Schritt bis zur Thematisierung, können Sie dies tun:
Werde, dass Rendern jeder checkbox in einer eigenen Zeile, oder geben Sie eine Chance zu tun, was Sie wollen, zwischen die einzelnen Elemente.
InformationsquelleAutor SomSanDiego
Kuba hat, sagte in seiner Antwort, das klingt teilweise wie eine CSS-Frage. Semantisch gesprochen Injektion etwas wie ein
<br />
tag nicht viel Sinn, aber Sie tun können, wenn Sie wollen, indem Sie die folgenden Dokumente in Kuba Antwort.Wenn Sie den Wunsch zu schreiben, etwas CSS, um diese Elemente zu display-Zeile können Sie diese gegen symfony Standard-Ausgabe:
Natürlich wird dies tatsächlich dazu führen, dass alle Eingangs-und label-tags, float Links, die möglicherweise nicht geeignet für Sie, so können Sie a) wickeln Sie Ihre Checkboxen in einem anderen div-Element und verwenden eine css-sub-Selektor wie
.checkboxes input, .checkboxes label
oder b) anwenden einer benutzerdefinierten css-Klasse, um Ihre widgets mit:und CSS wäre das gleiche, aber anstelle von
input
Sie hätte.foo
.InformationsquelleAutor Kasheen