簡體   English   中英

Silex從Twig模板重定向

[英]Silex redirect from Twig template

首先,我知道這是一件可怕的事情,應該只在控制器邏輯中完成,但是我想做的是在Twig中創建一個自定義重定向標簽,該標簽會觸發Silex重定向。

我有一個自定義節點,將以下內容輸出到doDisplay模板中:

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

基本上,這得到了Twig環境和我創建的擴展,該擴展具有getApp方法,該方法返回Silex $ app變量,該變量包含重定向方法。

但這只會將Array()返回到屏幕。 有什么建議么?

您要做什么是不可能的。 當您已經發送了200響應以及一個樹枝模板作為正文時,就不能將Response對象發送給客戶端。 您可以做的是將meta重定向標記注入頁面或使用JS:

例如:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM