【问题标题】:Is it possible to send array from twig to controller without using a form?是否可以在不使用表单的情况下将数组从树枝发送到控制器?
【发布时间】:2017-06-11 18:44:57
【问题描述】:

在 twig 中,我收到了一组项目,然后在内部进行一些操作后,我需要返回数组(具有相同或不同的值)。 那么是否可以发送一个像 slug 这样的数组,以便控制器可以接收它?

编辑:这个问题得到了很多反对,可能是因为我不清楚我需要什么。我只问了 Theoretical 这样的问题,我只想知道是否可以这样做。我没有问任何代码解决方案(我没有输入我的任何内容,只是想知道是否有人遇到过这种情况,以及我该如何解决这个问题)只是 理论答案

【问题讨论】:

  • 这就是form 的用途
  • 是的,我知道这可以与表单一起使用,但我想知道是否还有其他选择
  • 您应该在加载视图之前进行处理,而不是在树枝视图本身中。除非我误解了这个问题;不是很清楚你想做什么,你能用你目前掌握的相关代码来说明吗?
  • 不知道你为什么对这个问题投反对票,问问题有错吗?
  • 您的问题被否决了,因为它没有表现出任何类型的研究和努力。您唯一的其他有效选择是使用某种 ajax 逻辑,但我认为这不是您想要的。

标签: php twig symfony


【解决方案1】:

是的,你可以,如果你提交的信息就是这样。

$request->request 

可用于获取所有数据。我建议转储此变量以查看它在提交时包含的内容。使用后,只需循环访问它即可获取条目

$request->request->get("data-name"); 

【讨论】:

  • 嗯,有趣,这是正确的使用原因,还是我真的需要使用表单?顺便提一句。 tnx 回放
  • 如果您制作自定义输入字段,即多选下拉菜单,则不需要使用 symfony 表单。
【解决方案2】:

在处理 twig 模板的过程中,您不能在您所在的 php 范围内回话。但是你可以调用控制器并将值传递给它

当然,您的控制器需要了解您传递的参数

{{ render(controller('AppBundle:Controller:persist', { 'value': myarray })) }}

我的示例将调用一个名为 Controller 的控制器和一个名为 persistAction($value) 的函数,并将 render 控制器的结果返回器这部分是可选的。

Look this documentation 它解释了如何调用或呈现一个 url/控制器并传递参数

【讨论】:

    猜你喜欢
    • 2011-04-10
    • 1970-01-01
    • 2011-09-11
    • 2015-01-03
    • 2011-10-16
    • 2015-12-17
    • 2021-04-23
    • 2011-03-07
    • 1970-01-01
    相关资源
    最近更新 更多