Tôi có một không gian cứng (
) bên trong một số tùy chọn lựa chọn của mình. Bằng cách nào đó, một nơi nào đó, họ đang được trốn thoát. Tôi đã thử:Symfony2 Formbuilder tự động thoát?
{% autoescape false %}
{{ form_widget(foobar) }}
{% endautoescape %}
Cũng như
{{ form_widget(foobar)|raw }}
Và sau đây theo cành trong config.yml
autoescape: false
Tuy nhiên, các lĩnh vực lựa chọn vẫn đang render như Choice Text Here
thay vì Choice Text Here
, và trong nguồn họ đang được mã hóa là  Choice Text Here
Trong bộ điều khiển tôi có:
$form ->add('foo', 'choice', array(
'label' => 'Foo Label',
'choices' => $fooChoices,
'required' => true));
$form = $form->getForm();
$foobar = $form->createView();
Nếu tôi print_r
$fooChoices
tôi nhận được:
Array ([1] => 60# FooBar [5] => 60# BatBar [11] => 60# DooWop)
nào cho thấy tôi thích hợp
(lưu ý không gian đôi ở phía trước của thập niên 60). Một nơi nào đó giữa FormBuilder và rendering, nó đang được thoát.
Có tích hợp thoát trong Trình tạo biểu mẫu không?
Điều tôi đã suy ra là thông qua quan điểm xem biểu mẫu được hiển thị qua $form->createView()
dữ liệu vẫn chưa được thoát. Nhưng, vào thời điểm nó đạt đến Twig thông qua form_widget, nó đã được thoát. Làm form_widget(foobar)|raw
hiển thị điều này.
Chỉnh sửa: Tôi đã thêm giải pháp thay thế làm câu trả lời nhưng tôi vẫn muốn chấp nhận câu trả lời giải thích cách ngăn chặn việc thoát hoàn toàn ban đầu xảy ra hoàn toàn.
Tôi có thể xem mã của tiện ích biểu mẫu của bạn không? Không có tính năng như vậy. – Lusitanian
@David Tôi không chắc chắn tôi theo dõi. Tôi đang sử dụng cách đơn giản nhất để hiển thị biểu mẫu theo tài liệu: http://symfony.com/doc/current/book/forms.html#rendering-the-form – Nick
Ý tôi là trong lớp mà bạn tạo ra hình thức, xin lỗi vì sự mơ hồ. – Lusitanian