/**
  * @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;
 }
Beispiel #2
0
 /**
  * @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;
 }