/** * @param string $name * @return string */ public function __invoke($name) { if ($this->meta == null) { $serviceManager = $this->event->getApplication()->getServiceManager(); $translator = $serviceManager->get('Translator'); $locale = $translator->getLocale(); /** @var \Msingi\Cms\Repository\PageI18ns $meta_repository */ $meta_repository = $this->getEntityManager()->getRepository('Msingi\\Cms\\Entity\\PageI18n'); $this->meta = $meta_repository->fetchOrCreate($this->page, \Locale::getPrimaryLanguage($locale)); } switch ($name) { case 'title': return $this->meta->getTitle(); case 'keywords': return $this->meta->getKeywords(); case 'description': return $this->meta->getDescription(); } return ''; }