/** * {@inheritDoc} */ public function get($name, $options = [], $usePeeringServiceManagers = true) { try { $instance = parent::get($name, $options, $usePeeringServiceManagers); } catch (ServiceNotFoundException $e) { $instance = new Fallback($name); $instance->setServiceLocator($this->getServiceLocator()); } return $instance; }
public function toZend(array $data, Site $site) { $sitePage = $site->getPages()->get($data['id']); if (!$sitePage) { // Handle an invalid page. $fallback = new Fallback('page'); $fallback->setServiceLocator($this->getServiceLocator()); return $fallback->toZend($data, $site); } return ['label' => $data['label'], 'route' => 'site/page', 'params' => ['site-slug' => $site->getSlug(), 'page-slug' => $sitePage->getSlug()]]; }