1

我有路由:

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',
        )
    )); 

我尝试清除缓存,但它根本不起作用。有没有办法存档这个?或者我需要输入 Uri?

4

1 回答 1

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);
...
}

它有效...

于 2012-04-25T15:18:57.300 回答