Skip to content

Instantly share code, notes, and snippets.

@bagpack
Last active August 29, 2015 14:07
Show Gist options
  • Select an option

  • Save bagpack/b96f719bb3e7c138f3de to your computer and use it in GitHub Desktop.

Select an option

Save bagpack/b96f719bb3e7c138f3de to your computer and use it in GitHub Desktop.
ZF2:Assign variables to view models.
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
$sharedEvents = $eventManager->getSharedManager();
// PostDispatch (priorityが1以上ならpre, 未満ならpost)
$sharedEvents->attach(__NAMESPACE__, MvcEvent::EVENT_DISPATCH, [$this, 'injectDispatch'], -100);
}
public function injectDispatch(MvcEvent $e)
{
$events = $e->getApplication()->getEventManager();
$sharedEvents = $events->getSharedManager();
$controller = $e->getTarget();
$hoge = 'xxxx';
$controller->layout()->_hoge = $hoge;
$children = $e->getViewModel()->getChildren();
foreach($children as $child) {
$child->_hoge = $hoge;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment