tam*_*mir 3 exception symfony twig
我有一个模板area.html.twig,呈现另一个模板:
//area.html.twig
...
{% render 'Acme:User:restricted.html.twig' %}
...
Run Code Online (Sandbox Code Playgroud)
有没有办法忽略\捕获一个抛出的异常restricted.html.twig而只是渲染任何东西?
您应该在模板中使用嵌入式控制器:
{% render "yourBundle:Controller:action" with { 'data': data, } %}
Run Code Online (Sandbox Code Playgroud)
最好用路由(从symfony安全更新):
{% render url('theactionroute', { 'data': data }) %}
Run Code Online (Sandbox Code Playgroud)
在操作中,您可以检查您想要的任何内容,并在某些情况下返回空白响应/模板.
您还可以将模板渲染包装在try&catch块中,并在出现twig异常时返回错误模板:
try {
$response = $this->render('yourBundle:Default:action.html.twig',
array('data' => $data));
} catch (\Exception $exc) {
return $this->render('yourBundle:Default:error.html.twig', array(
'message' => $exc->getMessage()
));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6441 次 |
| 最近记录: |