public function __invoke(Page $page) { if (isset($page->dynamic) && $page->dynamic) { $p = $page->route_match->getParams(); if (isset($p['id'])) { $id = $p['id']; $route = $page->route; $sl = $this->getServiceLocator()->getServiceLocator(); $em = $this->getEntityManager(); $objRepository = $em->getRepository($this->getEntityClass($p['controller'])); $entity = $objRepository->find($id); switch ($route) { case 'account/application': $page->params = ['id' => $id]; $page->setLabel($entity->getName()); break; case 'report/application': $page->params = ['id' => $id]; $page->setLabel($entity->getName()); break; case 'lead/search': $page->params = ['id' => $id]; if ($entity) { $page->setLabel($entity->getName()); } break; } } } }