Symfony: вопрос про url_for - PullRequest
       8

Symfony: вопрос про url_for

0 голосов
/ 08 августа 2011

как добавить параметры в функцию url_for ()?Я имею в виду, у меня есть этот маршрут:

category_set_representative_image:
  url:     /categoria-settare-immaggine-rappresentativa/:id
  param:   { module: category_new, action: setRepresentativeImage }
  class:   sfPropelRoute
  options: { model: Category, type: object }

Я хочу сгенерировать URL через url_for('category_set_representative_image', $category), но как добавить помимо параметра ": id" (идентификатор изображения, которое будет представлятькатегория)?

sf 1.4

Хави

Ответы [ 3 ]

1 голос
/ 09 августа 2011

url_for('category_set_representative_image', $category) действительно работает, если у вас есть только один параметр. Если вы хотите добавить больше параметров, вы можете использовать url_for('category_set_representative_image', array('sf_subject' => $category, 'extra_param' => 'foo')).

Таким образом, sf_subject - это объект, который используется для маршрутизации объекта. Все остальные параметры будут пытаться найти совпадения в самом URL-адресе, и, если они не найдены, они добавляются в виде строки запроса.

(Например, если у вас есть маршрут с URL /categories/:id/params/:extra_param, он заполнит токен: extra_param, и ваш URL будет выглядеть как /categories/11/params/foo, если он не определен в маршрутизации, URL будет выглядеть как /categories/:id?extra_param=foo. В обоих случаях вы можете получить значение параметра в действии с помощью $request->getParameter().

0 голосов
/ 08 августа 2011

url_for('@category_set_representative_image?id=YOURIDHERE', $category);

для маршрутов вы должны будете использовать @ впереди

0 голосов
/ 08 августа 2011

Используйте это:

url_for('category_set_representative_image?id=YOURIDHERE', $category);
...