2012-06-11 2 views
6

Я знаю, что я могу использовать этотZF2: Zend Framework 2 - как сделать вывод без макета

public function providerAction() 
{ 
    $result = new ViewModel(); 
    $result->setTerminal(true); 

    return $result; 
} 

Но как я прохожу переменные для просмотра? До того как я сделал это

return array('items' => $items); 

Но теперь у меня есть только один вариант либо возврата массива, а затем макет там или вернуться $result то переменные не в представлении.

+0

Другим подобным вопрос с более подробным ответом. См. Http://stackoverflow.com/a/9870758/951920 –

ответ

23

В вашем примере вы могли бы написать так:

public function providerAction() 
{ 
    $result = new ViewModel(); 
    $result->setTerminal(true); 
    $result->setVariables(array('items' => 'items')); 
    return $result; 
} 
+0

Weeeee !!)))))) –

+1

Это отличный ответ, было бы хорошо, если бы вы его приняли :) –

2

Предыдущий ответ отлично работает. Я просто хочу добавить, что вместо того, чтобы использовать setVariables вы также можете передать переменную непосредственно при инстанцировании ViewModel так:

$result = new ViewModel(array('items' => $items));