为dev和prod环境使用不同的模板布局

时间:2012-02-16 13:43:03

标签: symfony

在symfony 2中,我想要一个特定的环境来使用特定的布局而另一个环境要使用另一个布局。

最好的方法是什么?

为了进一步澄清,假设我有一个“prod_one”环境和一个“prod_two”环境。 prod_one环境必须在呈现的html页面中使用某些特定标头,而prod_two环境则要求不设置这些标头。

谢谢!

1 个答案:

答案 0 :(得分:15)

在Controller中,您可以找到使用内核服务正在使用的环境' getEnvironment方法:

$env = $this->get('kernel')->getEnvironment();
if ($env == "prod_one"){
    //$response->header->set(...);
    //return $this->render(...);
} else if ($env == "prod_two"){
  // ...
}

在树枝中:您可以使用全局树枝变量 - app.environment

{% if app.environment == 'prod_one' %}
    {# Content for prod_one env #}
{% elseif app.environment == 'prod_two' %}
    {# Content for prod_two env #}
{% endif %}