Symfony Twig {{render}} 处理传递的参数:无法获得不同的值
Symfony Twig {{render}} handling passed arguments: Cannot get a different value
在模板上我做了一个 render
方法:
{% set someString = "non-default" %}
{{ render(controller('AppBundle:Widgets:myCapsWidget'),{'somestring':someString}) }}
在控制器上我有以下方法:
public function myCapsWidgetAction()
{
//@todo: access the passing parameter
}
我的问题是如何访问 somestring
参数?我试过
public function myCapsWidgetAction($somestring="default")
{
return new Response(strtoupper($somestring));
}
然后通过 xdebug 我注意到传递的参数是 default
而不是 non-default
.
我也查看了这些链接:
- symfony twig render controller argument array
- https://knpuniversity.com/screencast/symfony2-ep3/render-controller
但我的道路上仍然没有光明。
根据
您应该像这样渲染小部件:
{{ render(controller('AppBundle:Widgets:myCapsWidget',{'somestring':someString}) }}
查看参数是如何通过控制器方法传递的
在模板上我做了一个 render
方法:
{% set someString = "non-default" %}
{{ render(controller('AppBundle:Widgets:myCapsWidget'),{'somestring':someString}) }}
在控制器上我有以下方法:
public function myCapsWidgetAction()
{
//@todo: access the passing parameter
}
我的问题是如何访问 somestring
参数?我试过
public function myCapsWidgetAction($somestring="default")
{
return new Response(strtoupper($somestring));
}
然后通过 xdebug 我注意到传递的参数是 default
而不是 non-default
.
我也查看了这些链接:
- symfony twig render controller argument array
- https://knpuniversity.com/screencast/symfony2-ep3/render-controller
但我的道路上仍然没有光明。
根据
您应该像这样渲染小部件:
{{ render(controller('AppBundle:Widgets:myCapsWidget',{'somestring':someString}) }}
查看参数是如何通过控制器方法传递的