【问题标题】:Symfony 2.0 route parameters _formatSymfony 2.0 路由参数_format
【发布时间】:2012-04-24 13:15:11
【问题描述】:

我有路由:

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?

【问题讨论】:

    标签: routing symfony format


    【解决方案1】:

    我把它改成了{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-01-11
      • 1970-01-01
      • 2018-06-24
      • 2016-06-24
      • 1970-01-01
      • 2018-12-28
      • 2011-03-05
      • 1970-01-01
      • 2016-02-06
      相关资源
      最近更新 更多