protected function createEntityTemplate($data) { $template = new Template(); $this->em->persist($template); $layout = new TemplateLayout($data['media']); $layout->setLayoutName($data['layoutName']); $layout->setTemplate($template); $this->em->persist($layout); foreach ($data['localizations'] as $locale => $title) { $localization = new TemplateLocalization($locale); $localization->setTitle($title); $localization->setTemplate($template); $this->em->persist($localization); } return $template; }
/** * Add layout for specific media. * * @param string $media * @param ThemeLayoutInterface $layout * @return TemplateLayout */ public function addLayout($media, ThemeLayoutInterface $layout) { $templateLayout = new TemplateLayout($media); $templateLayout->setLayoutName($layout->getName()); $templateLayout->setTemplate($this); return $templateLayout; }