Php Silex从细枝模板重定向
首先,我知道这是一件可怕的事情,应该只在控制器逻辑中完成,但我正在尝试的是在Twig中创建一个定制的重定向标记来触发Silex重定向 我有一个自定义节点,可将以下内容输出到doDisplay模板中:Php Silex从细枝模板重定向,php,symfony,redirect,twig,silex,Php,Symfony,Redirect,Twig,Silex,首先,我知道这是一件可怕的事情,应该只在控制器逻辑中完成,但我正在尝试的是在Twig中创建一个定制的重定向标记来触发Silex重定向 我有一个自定义节点,可将以下内容输出到doDisplay模板中: return $this->getEnvironment()->getExtension('silex')->getApp()->redirect('/', 301); 基本上,这会得到Twig环境和我创建的扩展,它有一个getApp方法,返回Silex$app变量,该变量
return $this->getEnvironment()->getExtension('silex')->getApp()->redirect('/', 301);
基本上,这会得到Twig环境和我创建的扩展,它有一个getApp方法,返回Silex$app变量,该变量包含重定向方法
但这只会将Array()返回到屏幕。有什么建议吗?你要求做的是不可能的。如果已将
200
响应与细枝模板一起作为正文发送,则无法将响应
对象发送到客户端。您可以将meta
重定向标记插入页面或使用JS:
例如:
{% if somecondition %}
<script>window.location.href = {{yourRoute}}</script>
{% endif }
{%if somecondition%}
window.location.href={{yourRoute}
{%endif}
我认为您必须调用:$this['kernel]->terminate($request,$response);