Tengo un espacio difícil (
) dentro de algunas de mis opciones de elección. De alguna manera, en algún lugar, se están escapando. He tratado:Symfony2 Formbuilder auto escaping?
{% autoescape false %}
{{ form_widget(foobar) }}
{% endautoescape %}
Así como
{{ form_widget(foobar)|raw }}
Y lo siguiente bajo la ramita en config.yml
autoescape: false
Sin embargo, los campos de selección todavía se representan como Choice Text Here
en lugar de Choice Text Here
, y en la fuente que están codificando como  Choice Text Here
En el controlador que tengo:
$form ->add('foo', 'choice', array(
'label' => 'Foo Label',
'choices' => $fooChoices,
'required' => true));
$form = $form->getForm();
$foobar = $form->createView();
Si print_r
$fooChoices
me sale:
Array ([1] => 60# FooBar [5] => 60# BatBar [11] => 60# DooWop)
Lo que me muestra el buen
(nótese el doble de espacio delante de la década de los 60). En algún lugar entre FormBuilder y el renderizado, se está escapando.
¿Hay escapes integrados dentro del Creador de formularios?
Lo que he deducido es que a través del punto que la vista de formulario se procesa a través de $form->createView()
, los datos aún no están guardados. Pero, cuando llega a Twig a través de form_widget, se ha escapado. Hacer form_widget(foobar)|raw
muestra esto.
Editar: He agregado una solución como respuesta, pero todavía estoy interesado en aceptar una respuesta que explique cómo evitar que se produzca el escape inicial por completo.
¿Puedo ver el código de su widget de formulario? No hay tal característica. – Lusitanian
@David No estoy seguro de seguir. Estoy usando la forma más simple de renderizar un formulario de acuerdo con los documentos: http://symfony.com/doc/current/book/forms.html#rendering-the-form – Nick
Me refiero a la clase donde generas tu forma, perdón por la ambigüedad. – Lusitanian