我在Symfony2中遇到了帮助器问题。我有一个工作正常的帮手。我有一个用PHP和HTMl制作的视图,没有sintax错误。
我需要制作一个foreach,在那个foreach中,我需要创建一个按钮来调用我的帮助程序,其中包含此迭代的一些信息,如果用户单击此按钮,请使用此信息调用此帮助程序。
有些人喜欢:
foreach $i...
<form action="<?php echo $view['entities']->HelperFunction($i) ?>" >
<button type="submit">Helper Call</button>
...
end foreach
我的问题是,在每次迭代中,自动调用帮助程序并执行其函数。当我点击生成的按钮时,我只需要执行帮助。
有什么想法吗? 提前谢谢。
答案 0 :(得分:0)
你应该使用symfony表单,或者如果它是自定义的,你在表单中没有任何字段你只是因为某些原因想要使用一个函数,你仍然可以在你的控制器中使用symfony而不是纯PHP渲染视图将变量$ view ['entities']传递给这样的树枝:
public function newAction(Request $request)
{
/* your codes */
return $this->render('yourBundle:Default:yourtwigfile.html.twig', array(
'view' => $view['entities'],
));
PS:yourBundle:默认:yourtwigfile.html.twig:默认是默认情况下的文件夹是yourBundle / Resources / views,如果你的视图里面有像yourBundle / Resources / views /文件夹这样的文件夹你将是yourBundle:folder :yourtwigfile.html.twig
然后在你的行动中的twig文件中使用:
{% for i in 0..10 %}
<form action="{% view.HelperFunction(i) %}" >
<button type="submit">Helper Call</button>
...
{%endfor%}
我没有测试这个,但它应该可以工作,我不知道你为什么要这样做,但它会产生很多形式,这取决于你想要运行多长时间。