2016-04-06 22 views
0

我搜索了相同的内容,并得到了一些有关它的答案,但没有帮助。如何发送数据以查看zf2中的Module.php

那些方式我试图如下:

1)

在onBootstrap($ E)功能:

$e->getViewModel()->setVariable('test_variable', 'Hello World!'); 
     //or 
$e->getViewModel()->test_variable = 'Hello World!'; 

2) 我在Module.php创建的函数

function boforeDispatch(MvcEvent $event) { 
    $event->getViewModel()->setVariable('test_variable', 'Hello World!'); 
    //or 
    $event->getViewModel()->test_variable = 'Hello World!'; 
} 

并称之为该onBootstrap内部函数($ E)功能

​​

,当我在视图

echo $test_variable; 

试过给人undefined variable test_variable in ...错误的所有时间。

有什么想法?

+0

你试过访问它像$这个 - >布局() - > test_variable – KiwiJuicer

+0

是的,我已经在使用它了。我问的是echo $ test_variable。就像我们从我们的控制器发送它 –

回答

0

尝试使用渲染事件(MvcEvent::EVENT_RENDER)代替:

public function onBootstrap($event){ 
    $application = $event->getApplication(); 
    $eventManager = $application->getEventManager(); 
    $events->attach(MvcEvent::EVENT_RENDER, array($this, 'addVariablesToViewModel'), 100); 
} 

public function addVariablesToViewModel($event) 
{ 
    $viewModel = $this->getEvent()->getViewModel(); 
    $viewModel->setVariables(array(
     'key' => 'value', 
    )); 
} 

您的视图模型很可能在尚未公布(预)派遣

相关问题