當使用{%渲染「捆綁:控制器:動作」%},它返回一個:404錯誤
throw $this->createNotFoundException('Error - 404');
它成功地使頁面的開發模式錯誤,但在生產模式頁面呈現除{%render%}部分之外的部分,現在它只是空白。
我想讓整個頁面顯示一個404頁面,就像在父操作中拋出異常一樣。
有沒有人有任何建議?
感謝
當使用{%渲染「捆綁:控制器:動作」%},它返回一個:404錯誤
throw $this->createNotFoundException('Error - 404');
它成功地使頁面的開發模式錯誤,但在生產模式頁面呈現除{%render%}部分之外的部分,現在它只是空白。
我想讓整個頁面顯示一個404頁面,就像在父操作中拋出異常一樣。
有沒有人有任何建議?
感謝
若要恢復錯誤而不是隻是靜默失敗,只需在with對象後面添加ignore_errors選項即可。
例如
{% render 'Bundle:Controller:Action' with { }, { 'ignore_errors' : false } %}
它成功地使頁面的開發模式錯誤,但 生產模式頁面呈現除了{%渲染%}部分 現在在哪裏,這只是空白。
這似乎是合法的。您使用
{% render "Bundle:Controller:Action" %}
只呈現網頁的一部分,例如一份菜單。如果特定的渲染動作拋出一個404,它只會影響網站的這一部分,但不會影響整個頁面。
此外,爲什麼整個頁面,顯然呈現良好,將被404錯誤頁面阻止,只會影響頁面的一部分?這不是很好的做法。如果錯誤非常重要,那麼應該在控制器級別的更高實例上觸發它。
我希望它爲整個頁面扔404。 – 2013-02-19 17:21:54
404錯誤不應引發視圖圖層。他們只應該被拋出Controller層。你應該重新考慮你的設計,做你想達到的。 – Benny 2013-02-19 17:24:40
@你是對的 – 2013-02-19 17:29:13