У меня есть действие, способное на несколько маршрутов. Я просто определил здесь часть конфликта.
/**
* @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')));
Есть ли у вас какие-либо идеи?
Переменные в определении маршрута (и передаются методу действия контроллера) являются атрибутом запроса, поэтому любые данные в URL-адресе не будут автоматически назначены переменной в вашем методе действий.
Вы можете использовать $request-> get ("некоторое имя"), который ищет переменную в порядке
Параметры URL> Атрибуты запроса> Параметры сообщения