2012-12-11 45 views
1

在某些情況下我有ZF2應用程序我想從路由中獲取參數'number',並使其可用於所有視圖。我試圖使用事件,但我的解決方案的問題是$數字只能在佈局中使用,而不能在視圖中使用。 這是我的代碼ZF2:通過'dispatch'向ViewModel分配變量事件

$sharedEvents = $moduleManager->getEventManager()->getSharedManager(); 
$sharedEvents->attach(__NAMESPACE__, 'dispatch', function ($e) { 
    $route = $e->getRouteMatch(); 
    $number = $route->getParam('number'); 
    $view = $e->getViewModel(); 
    $view->setVariable('searchQuery', $number); 
}, 90); 

有什麼想法?

回答

3

問題解決了它在視圖訪問通過

$this->layout()->getVariable('searchQuery'); 

更多關於這個話題,請here

0

也許這可以幫助你:

$childView = $e->getViewModel()->getChildren(); 

$childView[0]->searchQuery = $number;