1

ルーティングからパラメータ「number」を取得してすべてのビューで使用できるようにしたい場合があります。イベントを使用しようとしましたが、ソリューションの問題は、$ numberがレイアウトでのみ使用可能であり、ビューでは使用できないことです。これが私のコードです

$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 );

何かご意見は?

4

2 に答える 2

3

問題が解決し、ビューでアクセスできるようになりました

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

このトピックの詳細については、こちらをご覧ください

于 2012-12-11T12:36:09.130 に答える
0

多分これはあなたを助けることができます:

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

$childView[0]->searchQuery = $number;
于 2013-04-15T10:03:49.377 に答える