예제 #1
0
 /**
  * @param string $title
  * @param string $locale
  * @param array $data
  * @param PageDocument $parent
  * @param array $permissions
  * @param string $path
  *
  * @return PageDocument
  */
 private function createPage($title, $locale, $data = [], $parent = null, array $permissions = [], $path = null)
 {
     /** @var PageDocument $document */
     $document = $this->documentManager->create('page');
     if (!$path) {
         $path = $this->sessionManager->getContentPath('sulu_io') . '/' . $title;
     }
     if ($parent !== null) {
         $path = $parent->getPath();
         $document->setParent($parent);
     }
     $data['title'] = $title;
     $data['url'] = '/' . $title;
     $document->setStructureType('simple');
     $document->setTitle($title);
     $document->setResourceSegment($data['url']);
     $document->setLocale($locale);
     $document->setRedirectType(RedirectType::NONE);
     $document->setShadowLocaleEnabled(false);
     $document->getStructure()->bind($data);
     $document->setPermissions($permissions);
     $this->documentManager->persist($document, $locale, ['path' => $path, 'auto_create' => true]);
     $this->documentManager->flush();
     return $document;
 }