使用命令的 Twig 模板中 URL 的域不正确
Incorrect domain for an URL in a Twig template using command
在我的 Symfony2 项目中,我发送带有 link 的电子邮件以连接到我的网站,例如
<a href="{{ url('login') }}">LOGIN</a>
当我在控制器中使用此模板时,link 很好。
<a href="https://example.com/login">LOGIN</a>
但是如果我在带有 cron 的 ContainerAwareCommand
中将此模板用于我的邮件,它看起来像
<a href="http://localhost/login">LOGIN</a>
不太好。我应该怎么做才能让它发挥作用?
您应该按照文档中的描述全局配置请求上下文 How to Generate URLs from the Console:
you can redefine the parameters it uses as default values to change
the default host (localhost) and scheme (http). You can also configure
the base path if Symfony is not running in the root directory.
Note that this does not impact URLs generated via normal web requests,
since those will override the defaults.
# app/config/parameters.yml
parameters:
router.request_context.host: example.org
router.request_context.scheme: https
router.request_context.base_url: my/path
希望对您有所帮助
在我的 Symfony2 项目中,我发送带有 link 的电子邮件以连接到我的网站,例如
<a href="{{ url('login') }}">LOGIN</a>
当我在控制器中使用此模板时,link 很好。
<a href="https://example.com/login">LOGIN</a>
但是如果我在带有 cron 的 ContainerAwareCommand
中将此模板用于我的邮件,它看起来像
<a href="http://localhost/login">LOGIN</a>
不太好。我应该怎么做才能让它发挥作用?
您应该按照文档中的描述全局配置请求上下文 How to Generate URLs from the Console:
you can redefine the parameters it uses as default values to change the default host (localhost) and scheme (http). You can also configure the base path if Symfony is not running in the root directory.
Note that this does not impact URLs generated via normal web requests, since those will override the defaults.
# app/config/parameters.yml parameters: router.request_context.host: example.org router.request_context.scheme: https router.request_context.base_url: my/path
希望对您有所帮助