渲染组件的404错误

时间:2013-02-19 17:03:37

标签: php symfony twig

使用{%render“Bundle:Controller:Action”%}时返回:

throw $this->createNotFoundException('Error - 404');

它成功地导致页面在开发模式下出错,但在生产模式下页面呈现除了{%render%}部分,现在它只是空白。

我希望整个页面显示404页面,就像在父操作中抛出异常一样。

有人有任何建议吗?

由于

2 个答案:

答案 0 :(得分:1)

  

它成功地导致页面在开发模式下出错,但是在   除了{%render%}部分之外,页面呈现的生产模式   现在它只是空白。

这似乎是合法的。你用

{% render "Bundle:Controller:Action" %}

仅呈现您网页的一部分,例如一份菜单。如果特定渲染操作抛出404,则它仅影响网站的这一部分而不影响整个页面。


此外,为什么整个页面显然会很好地被一个仅影响页面一部分的404错误页面阻止?这不是好习惯。如果错误非常重要,那么您应该在控制器级别的更高实例上触发它。

答案 1 :(得分:0)

要带回错误而不是静默失败,只需在with对象后面添加ignore_errors选项。

e.g。

{% render 'Bundle:Controller:Action' with { }, { 'ignore_errors' : false } %}