/** * @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; }