2016-04-06 51 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', 
    )); 
} 

您的視圖模型很可能在尚未公佈(預)派遣

相關問題