通过BuildView方法Symfony2将变量传递给Twig

时间:2015-02-07 16:32:17

标签: symfony variables twig

我正在寻找解决方案,但我在stackoverflow中找不到任何解决方案。

以下问题是我想将对象传递给树枝模板。

我有一个扩展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';

}

当我尝试访问我的twig文件中的变量({{test}})时,它告诉我找不到变量test。

我误解了什么? 谢谢你的帮助 AS

2 个答案:

答案 0 :(得分:0)

在没有看到整个代码的情况下,我怀疑当存在父视图时,您正在将视图变量添加到子视图。

$view->parent->vars['test'] = 'test';

希望能解决您的问题。

答案 1 :(得分:0)

您正在将新的var'test'附加到表单,因此要访问它,您必须通过表单进行访问:

{{ formName.vars.test }}

希望它有所帮助!