使用命令在Twig模板中的URL的域不正确

时间:2017-06-26 14:54:24

标签: php symfony twig symfony-routing

在我的Symfony2项目中,我发送电子邮件,其中包含连接到我的网站的链接,例如

<a href="{{ url('login') }}">LOGIN</a>

当我在控制器中使用此模板时,链接很好。

<a href="https://example.com/login">LOGIN</a>

但是,如果我使用此模板在ContainerAwareCommand中使用cron进行邮件,则看起来像

<a href="http://localhost/login">LOGIN</a>

这不好。我怎么想让它发挥作用?

1 个答案:

答案 0 :(得分:5)

您应该在全局范围内配置请求上下文,如文档How to Generate URLs from the Console中所述:

  

您可以重新定义它用作默认值的参数进行更改   默认主机(localhost)和scheme(http)。你也可以配置   如果Symfony没有在根目录中运行,则为基本路径。

     

请注意,这不会影响通过普通网络请求生成的网址,   因为那些将覆盖默认值。

# app/config/parameters.yml
parameters:
    router.request_context.host: example.org
    router.request_context.scheme: https
    router.request_context.base_url: my/path

希望这个帮助