繁体   English   中英

symfony 树枝渲染控制器参数数组

[英]symfony twig render controller argument array

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

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

但我无法找出好的方法。 让我们用基本的 AppBundle 解释下面的简单示例。 在我的项目中,渲染将要求来自另一个 Bundle 的渲染。 我确信这个过程是一样的,不管它是不是同一个 Bundle。

在默认控制器中,我把这个:

 /**
 * @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 中的渲染/控制器函数发送到 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 }) }}

希望这有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM