GET-параметр symfony2 переопределяет параметр маршрута

0

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

/**
* @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,
) {
     ---
  }

для первой маршрутизации "бренд" var может появляться как параметр GET, но в переменной twig и url эта переменная по-прежнему получает "brand" var как параметр url, который я даю null в определении функции действия.

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

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

Есть ли у вас какие-либо идеи?

Теги:
routing

1 ответ

0

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

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

Параметры URL> Атрибуты запроса> Параметры сообщения

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню