2016-04-06 16 views
0

Aynısını aradım ve bununla ilgili bazı yanıtlar aldım, ama yardım etmedim. aşağıdaki gibiZf2'de Module.php'ye görüntülemek için veri nasıl gönderilir

Denedim olanlar yoldur:

1)

onBootstrap ($ e) işlevi içinde

:

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

2) Ben Module.php bir işlev yarattı

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

ve buna Ben görünümü

echo $test_variable; 

yargılanması onBootstrap içindeki fonksiyonu ($ e) işlevi

$application = $e->getApplication(); 
$eventManager = $application->getEventManager(); 
$eventManager->attach(MvcEvent::EVENT_DISPATCH, array($this, 'boforeDispatch'), 100); 

o undefined variable test_variable in ... hata tüm defa verir.

Herhangi bir fikrin var mı?

+0

bunu $ this- gibi erişmeye denediniz düzeni sevk() -> test_variable – KiwiJuicer

+0

evet bunu zaten kullanıyorum. Ben ne soruyorum echo $ test_variable. Sadece bizim kontrolörden gönderdiklerimiz gibi –

cevap

0

yerine olay (MvcEvent::EVENT_RENDER) işlemek için kullanmayı deneyin:

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', 
    )); 
} 

görünümünüz modeli muhtemelen henüz mevcut değildir (ön)>

İlgili konular