2011-09-22 3 views
1

Я в настоящее время обновляю приложение PHP, так что он использует очень красивый twig template engine.twig template engine's form_widget

Я попал в ловушку о том, как подойти к этой проблеме. Приложение имеет собственный набор настраиваемых классов форм. По существу, можно прогеймически добавлять поля, устанавливать методы и действия в объект формы. Как только все это будет сделано, вызывается метод render(), который затем выплескивает сгенерированный фрагмент HTML для формы.

Я был в состоянии вывести форму в шаблоне, используя raw фильтр как так:

{{ form|raw }} 

В то время как это работает хорошо, я замечаю, что Symfony2 есть метод, называемый form_widget(), который специально занимается с оказанием формы без для вывода как сырья.

Я хотел бы адаптировать приложение, чтобы использовать form_widget(), однако я не могу найти на нем никакой документации. Может ли кто-нибудь указать, как данные должны быть переданы в form_widget() без использования рамки symphony2? Является ли это массивом, объектом или чем-то еще?

ответ

1

Посмотрев на траление через исходный код Симфонии, похоже, все, что они сделали это создали расширение, так что формы будут визуализируется как HTML:

'form_widget' => new \Twig_Function_Method($this, 'renderWidget', array('is_safe' => array('html'))), 

Так что, я думаю, все, что мне нужно сделать создает мое собственное расширение ветки, чтобы обеспечить аналогичную функциональность.

Смежные вопросы