Form theming datetime-widget Symfony 2
Ich gerne zu "Formular-theme" my datetime-widget in meine form.
Habe ich eine Felder.html-Code.twig Datei mit diesem an:
{% block datetime_widget %}
{% spaceless %}
<div {{ block('widget_container_attributes') }}>
{{ '{{ day }}-{{ month }}-{{ year }}'|replace({
'{{ day }}': form_widget(form.day),
'{{ month }}': form_widget(form.month),
'{{ year }}': form_widget(form.year),
})|raw }}
{{ form_widget(form.hour, { 'attr': { 'size': '1' } }) }} : {{ form_widget(form.minute, { 'attr': { 'size': '1' } }) }} : {{ form_widget(form.second, { 'attr': { 'size': '1' } }) }}
</div>
{% endspaceless %}
{% endblock datetime_widget %}
Ich eingegeben habe diese Zeile in meinem Formular anzeigen Vorlage
{% form_theme form 'AcmeDashboardBundle:Form:fields.html.twig' %}
Den datetime-widget gerendert wird. Aber das Datum und die Zeit, die Teile sind in einem separaten div-element. Die Pausen das widget in 2 Zeilen. Ich möchte die Anzeige von Datum und Uhrzeit Teil nebeneinander.
InformationsquelleAutor mattyh88 | 2012-03-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies zu erreichen, müssen Sie neu definieren, entweder die datetime_widget ohne mit der eingebauten date_widget & time_widget (weil Sie jedes eingewickelt mit divs) oder Sie können neu die date_widget & time_widget zu entfernen, um die Verpackung divs.
Hier ist, wie die Umsetzung der ersten option:
Und hier ist, wie die Umsetzung der zweiten option:
Dann das Datum & Zeit wird sein, gemeinsam in die gleiche div. Natürlich könnten Sie etwas Platz zwischen dem Datum und der Zeit, indem Sie die gewünschte html -
Hoffe, das hilft!
aha, ja es würde in der Regel erhalten, die von symfony ist DateType Klasse. Es gibt nur das format für das Datum, so können Sie ersetzen Sie die variable mit '{{ Jahr }}-{{ Monat }}-{{ Tag }}', neu anordnen, wie Sie möchten
Bin immer diese Fehlermeldung jetzt: Einen hash-Schlüssel werden muss, gefolgt von einem Doppelpunkt (:). Unerwartetes token "Interpunktion" von Wert "(" ("Interpunktion" erwarten value ":") (ich habe bearbeitet meinen ersten post)
Gelöst problem von oben. Aber jetzt bin ich immer: Methode "Tag" für das Objekt "Symfony\Component\Form\FormView" existiert nicht
Ja, so was bin ich immer zu haben. Noch zu untersuchen 🙂
InformationsquelleAutor user1207727