我正在尋找一個解決方案,但我找不到任何在stackoverflow中。通過BuildView方法將變量傳遞給Twig Symfony2
以下問題是我想將對象傳遞給樹枝模板。
我有一個擴展了Symfony2 Core的AbstractType的類。然後我明白我必須重寫我的特定類型的BuildView方法來移交變量。
的buildView方法是這樣的:
/**
*
* @param FormView $view
* @param FormInterface $form
* @param array $options
*/
public function buildView(FormView $view, FormInterface $form, array $options)
{
parent::buildView($view, $form, $options);
$view->vars['test']='test';
}
當我嘗試訪問我的樹枝文件中的變量({{測試}}),它告訴我變量測試沒有發現。
我誤解了什麼? 感謝您的幫助 AS
我試過了,但後來發現:在src/AppBundle/Resources/views中渲染模板(「Notice:Undefined index:cache_key」)時拋出異常。有趣的是,當我做$ view-> vars ['test] ='test'時,我沒有得到這個錯誤報告; – AugustusS 2015-02-07 17:57:52
恩,好吧,嘗試刪除你的buildView除了parent :: call,然後在它下面添加這個: $ view-> vars = array_replace($ view-> vars,array( 'test'=>'測試' )); cache_key鍵是擴展AbstractType類的BaseType類的一部分,您是否在任何地方使用它? – MichaelHindley 2015-02-07 18:21:55
我沒有在其他地方使用BaseType。使用你的建議改變這一點,使我再次面臨同樣的問題,他無法找到變量測試。如果我添加這一行「$ view-> vars ['test'] ='test';」到抽象類方法buildView然後他可以找到變量測試。 – AugustusS 2015-02-07 18:38:02