link 的 href 可以在 Symfony 2 的树枝神庙内动态更改吗

Can the href of a link be changed dynamically inside a twig temple in Symfony 2

我在我的网站上制作一个菜单已经有一段时间了,而且我一直在问很多关于这个菜单的问题。这个想法是我的菜单有一个 select 和我的所有项目,然后单击我的修改或删除按钮,同时对 selected 项目做它需要做的事情。

到目前为止,我找到了两种可能的方法:

-用一个select和三个按钮(添加、修改、删除)做一个表单

-为每个按钮做一个link并用循环

在twig中生成select

我认为更合乎逻辑的选项是第二个,但问题是我的 link 必须发送 selected 项目的 ID。

因为 twig 为你生成了 html,一旦生成,twig 就不能再生成了,所以我不能告诉 twig 根据我的 select 更改 link编辑项目!

我知道一定有办法用 Javascript 来解决这个问题,但是,说真的,我宁愿使用表格而不是天哪,如果在这种情况下看起来有点奇怪的话,因为表单已经知道哪个项目是 selected 并且很容易使用控制器在下一页重定向到修改按钮并删除项目。

如果页面的 link 发生变化,我将需要更改我的 javascript,而我的订单解决方案不会发生这种情况。

那么,有没有其他方法可以在没有 javascript 的情况下用 link 制作我想要的东西?如果没有,我就采取我的其他解决方案。

以这种方式定义表单:

$form = $this->createFormBuilder($task)
->add('project', 'choice', array(
    'choices' => array('1' => 'Project 1', '3' => 'Project 2')
))
->add('delete', 'submit', array('label' => 'Remove project'))
->add('update', 'submit', array('label' => 'Update project'))
->getForm();

choices 甚至可以是 entity 字段类型。

然后在控制器中:

$projectId = $form->get('project');

if ($form->get('delete')->isClicked()) {
// ...
} elseif ($form->get('update')->isClicked()){
// ...
}