matriz de argumentos del controlador de renderizado de ramita
Me gustaría enviar una matriz como argumento en un comando de ramita como:
{{ render(controller("AppBundle:Default:Test"), { 'myarray': array }) }}
Pero no puedo entender el buen camino. Vamos a explicar el siguiente ejemplo simple con el AppBundle básico. En mi proyecto, el render solicitará un render de otro Bundle. Estoy seguro de que el proceso es el mismo, siempre que sea el mismo paquete o no.
En el controlador predeterminado, pongo esto:
/**
* @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
));
}
Agregué un var_dump para rastrear la matriz, y no se reenvía a la función test2Action.
En Test.html.twig, tengo este código:
{{ render(controller("AppBundle:Default:Test2"), { 'tests': tests }) }}
En Test2.html.twig, tengo este código:
{% for test in tests %}
{{ test }}</br>
{% endfor %}
Finalmente, tengo esto en el navegador:
array(0) { }
Nada sobre la matriz que envié a la función test2Action a través de la función render / controller en twig.
Estoy usando Symphony 3.0.3, pero incluso en Symphony 2.8, no puedo encontrar ninguna información relevante.
Tal vez no estoy usando la mejor manera de hacer esto.
Por favor, podrías ayudarme. Realmente necesito enviar una matriz de un paquete a otro, para que ambos sean independientes del otro.
Muchas gracias, Stef.