Silex从Twig模板重定向

时间:2013-11-04 21:18:22

标签: php symfony redirect twig silex

首先,我知道这是一个可怕的事情,应该只在控制器逻辑中完成,但我想要做的是在Twig中创建一个自定义重定向标记来激发Silex重定向。

我有一个自定义节点,可将以下内容输出到doDisplay模板中:

return $this->getEnvironment()->getExtension('silex')->getApp()->redirect('/', 301);

基本上这会得到Twig环境和我创建的扩展,它有一个getApp方法,它返回包含重定向方法的Silex $ app变量。

但这只会将Array()返回到屏幕。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

你要做的事是不可能的。当您已经发送Response响应以及树枝模板作为正文时,您无法向客户端发送200对象。您可以做的是将meta重定向标记注入页面或使用JS:

例如:

{% if somecondition %}
<script>window.location.href = {{yourRoute}}</script>
{% endif }