arrays - symfony twig渲染 Controller 参数数组

标签 arrays symfony controller twig render

我想在 twig 命令中发送一个数组作为参数,例如:

{{ render(controller("AppBundle:Default:Test"), { 'myarray': array }) }}

但是我找不到好的方法。让我们用基本的 AppBundle 来解释以下简单示例。在我的项目中,渲染将要求来自另一个 bundle 的渲染。我确信无论 bundle 是否相同,过程都是相同的。

在默认 Controller 中,我放置了以下内容:

 /**
 * @Route("/test", name="test")
 */
public function testAction()
{
    return $this->render('AppBundle:Default:Test.html.twig', array (
        'tests' => array("Test 1", "Test 2", "Test 3", "Test 4")
    ));
}

/**
 * @Route("/test2", name="test2")
 */
public function test2Action($tests = array())
{
    var_dump($tests);

    return $this->render('AppBundle:Default:Test2.html.twig', array(
        'tests' => $tests
    ));
}

我添加了一个 var_dump 来跟踪数组,但它没有转发到 test2Action 函数。

在 Test.html.twig 中,我有以下代码:

{{ render(controller("AppBundle:Default:Test2"), { 'tests': tests }) }}

在 Test2.html.twig 中,我有以下代码:

{% for test in tests %}
    {{ test }}</br>
{% endfor %}

最后,我在导航器中看到了这个:

array(0) { }

没有关于我通过 twig 中的渲染/ Controller 函数发送到 test2Action 函数的数组。

我使用的是 Symphony 3.0.3,但即使在 Symphony 2.8 中,我也找不到任何相关信息。

也许我没有使用最好的方法来做到这一点。

请你帮帮我。我确实需要将一个数组从一个包发送到另一个包,以便使两个包彼此独立。

非常感谢, 斯蒂芬。

最佳答案

似乎是括号错误。在 Test.html.twig 中,尝试以下操作:

{{ render(controller("AppBundle:Default:Test2", { 'tests': tests }) ) }}

而不是:

{{ render(controller("AppBundle:Default:Test2"), { 'tests': tests }) }}

希望这有帮助

关于arrays - symfony twig渲染 Controller 参数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36048191/

相关文章:

java - 在 net beans 中添加新元素后对数组列表中的元素求和

symfony - 如何在 SonataAdmin 中创建自定义 DataGrid 过滤器

php - 如何设置 SeoBundle 和提取标题?

c# - ASP.NET MVC - 在默认帐户系统中删除用户?

ruby-on-rails - sort_by 上 nil 对象的 NoMethodError,并且所有对象都存在

c++ - 下面的 C++ 代码是做什么的

grails - def函数/Grails中的方法

controller - 获取 Laravel 4.1 中模型返回的记录总和

javascript - 分配一个变量以及用另一个数组的项目迭代for循环

php - 如何使用 Doctrine 刷新一个实体而不刷新另一个实体?