symfony2 - 在运行时更改布局

时间:2014-03-07 09:38:39

标签: symfony twig

Symfony2中是否可以在运行时更改布局(使用twig)?

布局应该根据从数据库中获取的记录而改变,所以我想实现一种LayoutManager来决定为每个请求加载什么布局,但我仍然找不到在运行时执行此操作的方法

1 个答案:

答案 0 :(得分:5)

Twig模板

{% extends myLayoutName %}

{% block my_block_with_content %}
    Some content here
{% endblock %}

控制器

public function myAction() {
    $layoutName = '...'; // Calculate layout name

    return $this->render(
        'AcmeAcmeBundle::template_name.html.twig', 
       ['myLayoutName' => $layoutName]
    );
}