据我所知,每个控制器都必须有自己的 json 响应模板,如何强制所有 json 响应使用相同的模板?
简单来说,我的控制器/路由器看起来像这样:
_myname:
pattern: /xxx/yyy.{_format}
defaults: { _controller: bundle:class:myname, _format:html }
requirements:{ _format: html|json }
/**
* @Template()
*/
public function mynameAction(){
return array("data"=>array("error"=>1, "msg"=>"msg"))
}
好的,现在效果很好,当用户请求/xxx/yyy.html时,控制器将呈现视图“myname.html.twig”,当用户请求/xxx/yyy.json时,视图“myname.json.twig”将显示,但是,实际上每个 json tempalte 都是一样的,我怎么能让 symfony2 知道:
当用户请求 /xxx/yyy.html 时,正常渲染“myname.html.twig”
当用户请求 /xxx/yyy.json 时,渲染其他模板如“default.json.twig”而不是“myname.json.twig” “??
谢谢。