2011-09-22 149 views
1

我目前正在更新一個PHP應用程序,以便它使用非常好的twig template engine樹枝模板引擎的form_widget

我遇到了如何解決這個問題的障礙。該應用程序擁有自己的一套自定義開發的表單類。實質上,可以以編程方式添加字段,將方法和動作設置爲表單對象。完成這一切後,會調用render()方法,然後爲該表單生成一個生成的HTML代碼片段。

我能夠輸出使用raw過濾器,像這樣的一個模板形式:

{{ form|raw }} 

雖然這工作得很好,我注意到,Symfony2中有一個名爲form_widget()方法,特別是與呈現形式,而不涉及以原始形式輸出。

我想調整應用程序,以便我可以使用form_widget(),但是,我無法找到任何深入的文檔。任何人都可以指出如何在不使用symphony2框架的情況下將數據傳遞給form_widget()?無論是數組,對象還是其他東西?

回答

1

看着通過交響樂的源代碼拖網後,它看起來像所有他們所做的是創建一個擴展,這樣的形式將呈現爲HTML:

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

所以,我想我需要做的是創建我自己的樹枝擴展提供類似的功能。