/** * @param array $data * @return PageLocalization */ protected function createEntityPageLocalization($data) { $entity = new PageLocalization($data['locale']); $entity->setPathPart($data['pathPart']); $entity->setMaster($this->resolveEntity('page', $data['page'])); $entity->setTitle($data['title']); $entity->setTemplate($this->resolveEntity('template', $data['template'])); return $entity; }
/** * @param AbstractPage $page * @param string $locale * @return Localization */ public static function factory(AbstractPage $page, $locale) { $localization = null; if ($page instanceof ApplicationPage) { $localization = new ApplicationLocalization($locale); } elseif ($page instanceof GroupPage) { $localization = new GroupLocalization($locale, $page); } elseif ($page instanceof Template) { $localization = new TemplateLocalization($locale); } elseif ($page instanceof Page) { $localization = new PageLocalization($locale); } else { throw new \UnexpectedValueException(sprintf('Don\'t know what to do with [%s]', get_class($page))); } $localization->setMaster($page); return $localization; }