1

我想给一些路由规则加一个参数xyz,但是pattern中没有指定这个参数,如下:

homepage:
    pattern:   /
    defaults:  { _controller: MyBundle:Page:home, xyz: true }

contact:
    pattern:   /contact
    defaults:  { _controller: MyBundle:Page:contact }

gallery:
    pattern:   /gallery
    defaults:  { _controller: MyBundle:Page:gallery, xyz: true }

我尝试了此路由配置,但在调用主页图库URL时未发布我的参数xyz 。

这是我的 Twig 页面(例如):

...
<a href="{{ path('gallery') }}">my test link</a>
...

结果是:

<a href="/gallery">我的测试链接</a>

我的例外是当我点击这个链接时,我的xyz参数会被发送。

知道为什么吗?

4

2 回答 2

0

使用attributes参数包而不是GET一个

$request->attributes->get('xyz')
于 2012-10-29T14:51:11.847 回答
0

如果您将 $xyz 添加到控制器操作方法签名中,则 $xyz 将存在并可访问。

public function homeAction($xyz) { // Code goes here }

public function galleryAction($xyz) { // Code goes here }

于 2013-09-23T01:27:06.490 回答