一个Symfony 2.0 Controller-Action,带有两个不同的模板

时间:2012-10-06 17:51:55

标签: templates view symfony twig

是否可以为Symfony 2.0中的操作分配两个不同的模板?在下面的代码中,我想用两个不同的模板渲染IF部分和ELSE部分。

 /**
 *
 * @Route("/", name="search")
 * @Template("Bundle:Search:search.html.twig")
 */
public function indexAction()
{
    if ($searchText == null) {

        return array('form' => $form->createView(), 'form2' => $form2->createView());

    } else {

        return array('applicants' => $appCount, 'pagination' => $pagination, 'form' => $form->createView(),'form2' => $form2->createView());
    }
}

1 个答案:

答案 0 :(得分:4)

您无法使用@Template注释执行此操作,但您可以手动渲染每个注释:

if ($someCondition) {
    return $this->render('Bundle:Controller:template.html.twig', array(
        'some' => $thing,
    );
}

return $this->render('Bundle:Controller:another.html.twig', array(
    'another' => $thing,
);