symfony2在控制器中渲染parial视图并将其作为参数传递给主渲染器

时间:2014-02-18 16:12:44

标签: symfony

我想在symfony2中用2个标签构建一个简单的页面 将标签视为看起来像标签的链接。 单击链接(选项卡)时加载另一个页面(整页加载) 但是我不想复制我的主视图,所以我想将选项卡的内容渲染为部分视图。

main.twig ....我的主要观点.... ....将样式链接为标签.... 标签内容 ....页脚

tab1.twig(这是我对tab1的偏爱) ....一些内容 - 还需要访问一些变量

tab2.twig(这是我对tab2的偏爱) ....一些内容 - 需要再次访问一些变量,但不能与tab1

相同 在symfony1(或任何其他框架)中的

我只是渲染tab1或tab2(取决于操作)我的选项卡内容并将其作为参数放在主视图中 this-> render('main',array( ..... 'tabContents'=> $ this-> renderPartial('tab2',array(... params ...), ..... );

问题是,我如何在symfony2中这样做? 最好不要通过twig渲染(想在我的控制器中渲染我的部分)。

1 个答案:

答案 0 :(得分:1)

在您的控制器中:

class DemoController extends Controller
{
    public function mainAction()
    {
        $tab1 = $this->render('AcmeDemoBundle:Demo:tab1_template.html.twig'
            , array('arg1' => $arg1));
        // do sth
        return $this->render('AcmeDemoBundle:Demo:main.html.twig', 
            array('tab1' => $tab1->getContent));
    }
}

请注意->getContent()上的$tab1

相关问题