1

次のように私は、フレームワークの特定の例外をキャッチ:Zend Framework 2のエラービュースクリプトに変数を渡すには?

public function onBootstrap(MvcEvent $e) 
{ 
    $eventManager = $e->getApplication()->getEventManager(); 
    $moduleRouteListener = new ModuleRouteListener(); 
    $moduleRouteListener->attach($eventManager); 
    ... 
    $sharedManager = $e->getApplication() 
     ->getEventManager() 
     ->getSharedManager(); 
    $sm = $e->getApplication()->getServiceManager(); 
    $sharedManager->attach('Zend\Mvc\Application', MvcEvent::EVENT_DISPATCH_ERROR, 
     function ($e) use($sm) { 
      if ($e->getParam('exception')) { 
       $sm->get('Logger') 
        ->crit($e->getParam('exception')); 
      } 
      // trying to pass a variable 
      $e->getViewModel()->setVariable('foo', 'bar'); 
     }); 
} 

私はその後、私はNotice: Undefined variable: fooを得る/module/Application/view/error/index.phtmlにアクセス$fooにしようとします。

エラービュースクリプトに変数を渡してそこにアクセスするにはどうすればよいですか?

答えて

0

onBootstrapから変数をレイアウトに渡します。

はこれを試してみてください:

$this->layout()->foo 
+0

はどうもありがとうございました!できます。しかし、ビュースクリプトのViewModelに変数を渡すことも可能ですか?私はいくつかの例を見たので、私は尋ねています。これらのaccespted答えでは、http://stackoverflow.com/a/18776447/2019043、http://stackoverflow.com/a/20800544/2019043。 – automatix

+0

変数に直接アクセスできる部分を実際に見つけることはできません。 – KiwiJuicer

+0

申し訳ありませんが、あなたが正しいです。それにもかかわらず、それは可能ですか? – automatix

関連する問題