Symfony2 Formbuilder auto entkommen?

Ich habe eine harte Raum ( ) in einigen meiner Wahl-Optionen. Irgendwie, irgendwo, Sie werden mit Escapezeichen versehen. Ich habe versucht:

{% autoescape false %}
    {{ form_widget(foobar) }}
{% endautoescape %}    

Sowie

{{ form_widget(foobar)|raw }}

Und den folgenden Zweig in config.yml

autoescape: false

Doch die Auswahl-Felder sind immer noch so dargestellt, als  Choice Text Here statt Choice Text Here, und in der Quelle Sie sind codiert als  Choice Text Here

In der Steuerung habe ich:

$form   ->add('foo', 'choice', array(
            'label' => 'Foo Label',
            'choices'  => $fooChoices,
            'required' => true));
$form = $form->getForm();
$foobar = $form->createView();

Wenn ich print_r $fooChoices ich bekommen:

Array ( [1] =>  60# FooBar [5] =>  60# BatBar [11] =>  60# DooWop )

Was zeigt mir die richtige   (beachten Sie den double space in front of the 60 ' s). Irgendwo zwischen den FormBuilder und die Darstellung, es ist immer entgangen.

Wird dort gebaut-die Flucht in das Formular-generator?

Was ich ableiten, dass durch die zeigen, dass der Formular-Ansicht gerendert wird über $form->createView() sind die Daten noch ohne Umschreibung. Aber, durch die Zeit erreicht er einen Zweig über form_widget, es wurde entkommen. Dabei form_widget(foobar)|raw zeigt dies.

Edit: ich habe soeben einen workaround als eine Antwort, aber ich bin immer noch daran interessiert, akzeptieren einer Antwort, die erklärt, wie Sie verhindern, dass die anfängliche Flucht von dem auftreten insgesamt.

  • Kann ich den code der Formular-widget? Es gibt keine solche Funktion.
  • Ich bin mir nicht sicher, ob ich Folgen. Ich bin mit der einfachsten Art und Weise der Erbringung einer form nach den docs: symfony.com/doc/current/book/forms.html#rendering-the-form
  • Ich meine, in der Klasse, wo generieren Sie Ihre form, sorry für die Unklarheit.
  • bearbeitet die konkreten code und die Daten, die es empfängt.
InformationsquelleAutor Nick | 2012-07-02
Schreibe einen Kommentar