2012-04-24 45 views
1

我有路由:Symfony的2.0路由參數_format

user: 
    pattern: /.{_format} 
    defaults: { _controller: AlefUserBundle:User:index, _format: json } 
    requirements: { _format: (xml|json|php), _method: GET } 

當然,它的瀏覽器。但是,當我嘗試用KnpMenuBundle創建菜單我只得到/user/作爲鏈接:

$menu->addChild('Użytkownicy', array('route' => 'user', 
    'routeParameters' => array('_format' => 'json'), 
     'attributes' => array(
      'title' => 'Lista użytkowników', 
      'data-icon' => 'user', 
      'data-id' => 'user_list', 
     ) 
    )); 

我試過清除緩存,但它根本不起作用。有沒有辦法來存檔這個?或者我需要在烏里?

回答

3

嗯,我把它改成{format}。它的工作原理幾乎像預期一樣:

user: 
    pattern: /list.{format} 
    defaults: { _controller: AlefUserBundle:User:index, format: html } 
    requirements: { _format: (xml|json|html), format: (xml|json|html), _method: GET } 

但我還添加了1號線到控制器:

public function indexAction($format) //$_format 
{ 
    $this->getRequest()->setRequestFormat($format); 
... 
} 

和它的作品...