symfony:关于url_for的问题

时间:2011-08-08 17:46:05

标签: symfony1 symfony-1.4

如何在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_for('category_set_representative_image', $category)生成网址,但除了参数“:id”(将代表该类别的图片的ID)之外,如何添加?

sf 1.4

Javi

3 个答案:

答案 0 :(得分:1)

如果您只有一个参数,那么url_for('category_set_representative_image', $category)确实有效。如果您想添加更多参数,可以使用url_for('category_set_representative_image', array('sf_subject' => $category, 'extra_param' => 'foo'))

因此sf_subject是用于对象路由的对象。将尝试在URL本身中匹配所有其他参数,如果未找到附加作为查询字符串。

(例如,您有一个包含网址/categories/:id/params/:extra_param的路线,它会填充:extra_param令牌,如果未在路由中定义,您的网址将显示为/categories/11/params/foo,该网址将显示为/categories/:id?extra_param=foo。 在这两种情况下,您都可以使用$request->getParameter()获取参数的值。

答案 1 :(得分:0)

使用此:

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

答案 2 :(得分:0)

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

对于您必须使用前面的@

的路线