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 に答える