我正在寻找一个解决方案,但我找不到任何在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