Я хотел бы послать массив в качестве аргумента в команде веточку, как:Symfony веточка делают контроллер аргумента массив
{{ 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) { }
Ничего о массиве я послал функции test2Action через рендер/функции контроллера в веточке.
Я использую Symphony 3.0.3, но даже в Symphony 2.8 я не могу найти соответствующую информацию.
Возможно, я не использую лучший способ сделать это.
Пожалуйста, не могли бы вы мне помочь. Мне действительно нужно отправить массив из пакета в другой, чтобы иметь как независимые от другого.
Огромное спасибо, Stef.
Тема вашего поста должен выглядеть как «предмет», а не набор нечетным ключевые слова! Вы должны приложить усилия, чтобы прийти с осмысленным предметом. – BentCoder