我想知道如何通过路线传递参数
路线:
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 ”....
这样做的好方法还是有另一种方法可以做到这一点?
答案 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') {
...
}
}