0

我正在使用 symfony 1.0 并为几个 URL 设置了路由,如下所示。

static_pages:
url: docs/:page.htm
param: { module: docs, action: index }

现在,我为另一种 URL 设置了路由。

URL is http://news4u.com/search/description/id/3/css/a/act/a

我已将路由设置如下

description:
url: /search/description/id/:id/css/:manu/act/:mgh
param: { module: search, action: description}

这是获取“css”和“act”值的正确格式吗?在 URL 缺少 css 参数时,我的意思是如果 url 如下所示:

http://news4u.com/search/description/id/3/css//act/a

- getRequestParameter('css') 的值显示为 'act' 而 - getRequestParameter('act') 的值为空

所以,我尝试应用路由,如果错了请纠正我。使用上面的路由配置,我没有得到想要的输出。

4

1 回答 1

0

您不一定需要在 routing.yml 文件中指定“id”、“css”和“act”作为参数,除非您使用它们在 URL 中的存在来将用户发送到搜索模块和描述操作。

在您的 routing.yml 中使用以下规则仍然有效:

default:
  url:   /:module/:action/*

然后你应该可以使用

url_for('search/description', array(
   'id' => 4, 
   'css' => 'something', 
   'act' => 'blah'
); 

生成这样的链接:/search/description/id/4/css/something/act/blah

于 2012-06-25T03:36:45.273 回答