如何使用render将多个变量从twig传递到symfony控制器操作

时间:2012-11-09 12:31:41

标签: symfony twig

我正在尝试从树枝内渲染一个动作来列出表格的结果。第一个变量正在通过罚款,我正在填充列表,但第二个变量没有到达。

{% render 'RiskAssessmentBundle:Assessment:assessmentlist' with {'offenderId': entity.getId, 'assessmentStatus': 'Complete' } %}

上面是我的树枝模板中的渲染调用。 offenderId带着价值抵达。

    /**
 * List widget
 *
 * @param int $offenderId   id of the offender
 * @param string $assessmentStatus   const value of desired status
 *
 * @Template("RiskAssessmentBundle:Assessment:assessmentlist.html.twig")
 */
public function assessmentlistAction($offenderId, $assessmentStatus = null)
{
    var_dump($assessmentStatus);
    $em = $this->getDoctrine()->getEntityManager();

    $offender = $em->getRepository('RiskOffenderBundle:Offender')->find($offenderId);

    if (is_null($assessmentStatus)) {
        $assessments = $em->getRepository('RiskAssessmentBundle:Assessment')
            ->findAllByActive(true, $offenderId, 5);
    } else {
        $assessments = $em->getRepository('RiskAssessmentBundle:Assessment')
            ->findAllByStatus($assessmentStatus, $offenderId, 5);
    }

    return array(
        'assessments' => $assessments,
        'offender' => $offender,
    );
}

以上是所谓的行动。 $ assessmentStatus的var_dump始终为NULL。我是symfony的新手,但我能找到的每一份文档都让我觉得这应该有用。任何人都知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

以上代码完美无缺。我们有一个扩展系统正在运行,整个树枝模板已经扩展。我修改的渲染不是被调用的渲染。一旦我修改了其他模板,它就完美无缺。