Symfony2,如何通过路径传递参数

时间:2014-12-05 20:56:32

标签: symfony routing

我想知道如何通过路线传递参数

路线:

frontend_agences_list:
    path:     /agences/{page}
    defaults: { _controller: ProjectFrontendBundle:Frontend:listAgences, page: 1 }

是这样的吗?

树枝

<a href="{{ path('frontend_agences_list') }}?mode=list">
<a href="{{ path('frontend_agences_list') }}?mode=grid">
<a href="{{ path('frontend_agences_list') }}?mode=block">

实际上,我想以3种模式显示结果,列表网格阻止。在控制器中我做了一个测试,如果 mode = list ,那么渲染“ list-view.html.twig ”,如果 mode = grid 那么渲染“ grid-view.html.twig ”....

这样做的好方法还是有另一种方法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

嫩枝:

<a href="{{ path('frontend_agences_list', {'mode': 'list'}) }}">list mode</a>
<a href="{{ path('frontend_agences_list', {'mode': 'grid'}) }}">grid mode</a>
<a href="{{ path('frontend_agences_list', {'mode': 'block'}) }}">block mode</a>

你的控制器:

public function listAgencesAction()
{
    $mode = $this->get('request')->get('mode');
    if($mode == 'list') {
        ...
    }
}