2014-12-01 3 views
0

У меня есть действие, способное на несколько маршрутов. Я просто определил здесь часть конфликта.symfony2 параметр GET переопределяет параметр маршрута

/** 
* @Route("/arama/ilanlar/{vehicleType}", requirements={"vehicleType"="(^$|araba|ticari-arac|motosiklet)"}, name="offer_search_fulltext_vehicletype") 
* @Route("/{vehicleType}/{brand}", requirements={"vehicleType"="(araba|ticari-arac|motosiklet)", "brand"="[\w_-]+"}, name="offer_browse_vehicletype_brand") 
* @Method({"GET"}) 
* @Template() 
*/ 
public function searchAction(
    Request $request, 
    $vehicleType = null, 
    $brand = null, 
) { 
    --- 
    } 

для первого маршрута «бренд» вар может прийти в качестве параметра GET, но в пути прута и функции URL-адреса передает эту переменную он все еще получает «бренд» вар в качестве параметра URL-адрес, который я даю нуль в определении функции действия ,

Я попробовал строку ниже для настройки параметров маршрута, но это не сработало. Как я могу предотвратить это переопределение? Я должен использовать одно и то же имя переменной для маршрутизации и получить, если не будет разбивать динамизм по всему коду.

$request->attributes->set('_route_params', array_filter($request->get('_route_params'))); 

У вас есть идея?

ответ

0

Переменные в определении маршрута (и переданы методу действия контроллера) являются атрибутом запроса, поэтому любые данные в URL-адресе не будут автоматически назначены переменной в вашем методе действий.

Вы можете использовать $ request-> Get ("некоторые названия"), который смотрит на переменном в порядке

URL Params> Атрибуты запрос> Сообщение PARAMS

+0

да $ request-> прибудет («brand») дает мне значение от get, но проблема в том, что функции generateUrl, twig.path, twig.url не могут справиться с этим, если я отправлю массив в функцию пути с текущим маршрутом. ex: {'brand': 'bmw', 'brand1': 'mercedes'} brand1 появляются на сгенерированном URL-адресе, но бренд не потому, что бренд определен в действии как параметр маршрута и конфликты, и он предпочитает параметры маршрута getter имеет значение null или нет. – FZE

Смежные вопросы