Symfony Twig {{render}}处理传递的参数:无法获得不同的值

时间:2017-11-03 11:40:38

标签: php symfony twig symfony-3.3

在模板上我使用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

我也查看了这些链接:

但我的道路上仍然没有光明。

1 个答案:

答案 0 :(得分:1)

根据Symfony Twig {{render}} handling passed arguments

您应该像以下一样呈现小部件:

{{ render(controller('AppBundle:Widgets:myCapsWidget',{'somestring':someString})  }}

查看参数如何通过控制器方法传递