如何在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
答案 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);
对于您必须使用前面的@
的路线