在模板中,我需要在点击链接时将变量传递给控制器
{{ variable }}
<a href="{{ path('test',{ 'variable': 2}) }}">click</a>
Run Code Online (Sandbox Code Playgroud)
.这该怎么做?
/**
* @Route("/test", defaults={"variable" = 1}, name="test")
* @Method("GET")
* @Template()
*/
public function testAction($variable)
{
return array('variable'=>$variable);
}
Run Code Online (Sandbox Code Playgroud)
你会说我需要@Route中的占位符/test/{variable},然后如何第一次访问url test?
编辑:这是一个愚蠢的问题.我在测试这个问题时遇到了一些缓存问题.安慰很明显.
你需要@Route像你提到的那样定义你的注释:
/**
* @Route("/test/{variable}", defaults={"variable" = 0}, name="test")
* @Method("GET")
* @Template()
*/
public function testAction($variable)
{
return array('variable'=>$variable);
}
Run Code Online (Sandbox Code Playgroud)
由于defaults选项,您可以访问或不使用variable以下路线:
附:
<a href="{{ path('test', {'variable': 2}) }}">click</a>
Run Code Online (Sandbox Code Playgroud)
这将产生网址/test/2,你的$variable意志相等2
无:
<a href="{{ path('test') }}">click</a>
Run Code Online (Sandbox Code Playgroud)
这将生成url /test并且您的$variable意愿相等0(defaults选项中设置的值)
| 归档时间: |
|
| 查看次数: |
11421 次 |
| 最近记录: |