symfony - 在开发和生产环境中使用不同的模板布局

标签 symfony

在symfony 2中,我希望一个特定的环境使用一个特定的布局,另一个环境使用另一个布局。

最好的方法是什么?

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

谢谢 !

最佳答案

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

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

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

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

关于symfony - 在开发和生产环境中使用不同的模板布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9312349/

相关文章:

symfony - 在带有 encore 的 symfony 项目中,如何设置 Jest?

json - Doctrine查询postgres json(包含)json_array

symfony - SonarQube:sonar.exclusions 参数不能排除文件夹

php - Stripe Payouts 作为托管模拟

ruby - Capistrano 3 部署失败消息 - 退出状态 1(失败)

PHP Symfony 命令在手动运行之前无法从 cron 运行

javascript - crud ajax jquery symfony3 无法工作

mysql - Doctrine2 SQLSTATE[42000] : Syntax error or access violation: 1064

symfony - 事件监听器未在 Doctrine 事件上注册或调用

php - Ratchet Symfony2.2