2

是否可以在 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());
    }
}
4

1 回答 1

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,
);
于 2012-10-06T17:59:17.610 回答