/** * Load data fixtures with the passed EntityManager * * @param ObjectManager|DocumentManager $manager */ public function load(ObjectManager $manager) { $contentParent = $manager->find(null, '/cms/content'); $routeParent = $manager->find(null, '/cms/routes/en/services'); $menuBase = $manager->find(null, '/cms/menu/footer'); $content = new DemoSeoContent(); $content->setParentDocument($contentParent); $content->setName('seo-service'); $content->setTitle('SEO Service'); $content->setBody('A page about SEO service'); $metaData = new SeoMetadata(); $metaData->setMetaDescription('Description in Metadata'); $content->setSeoMetadata($metaData); $manager->persist($content); $manager->bindTranslation($content, 'en'); $contentRoute = new Route(); $contentRoute->setParentDocument($routeParent); $contentRoute->setName('seo-service'); $contentRoute->setContent($content); $manager->persist($contentRoute); $menuNode = new MenuNode(); $menuNode->setParentDocument($menuBase); $menuNode->setName('seo-service'); $menuNode->setLabel('SEO Services'); $menuNode->setContent($content); $manager->persist($menuNode); $manager->flush(); }
private function createPageRoute($pageTitle) { $route = new Route(); $route->setParentDocument($this->getModelManager()->find(null, '/cms/londa/routes')); //@TODO Get route path from configs $route->setName(Slugger::slugify($pageTitle)); return $route; }
public function load(ObjectManager $manager) { NodeHelper::createPath($manager->getPhpcrSession(), '/test'); $root = $manager->find(null, '/test'); $parent = new Generic(); $parent->setParent($root); $parent->setNodename('routing'); $manager->persist($parent); $route = new Route(); $route->setParentDocument($parent); $route->setName('route-1'); $manager->persist($route); $redirectRoute = new RedirectRoute(); $redirectRoute->setParentDocument($parent); $redirectRoute->setName('redirect-route-1'); $manager->persist($redirectRoute); $manager->flush(); }
public function load(ObjectManager $manager) { NodeHelper::createPath($manager->getPhpcrSession(), '/test'); $root = $manager->find(null, '/test'); $parent = new Generic(); $parent->setParentDocument($root); $parent->setNodename('routing'); $manager->persist($parent); $routeCollection = new Route(); $routeCollection->setParentDocument($parent); $routeCollection->setMethods(array('POST', 'GET', 'PUT')); # Todo check if we can add a type and set defaults prePersist? $routeCollection->setName('collection'); $manager->persist($routeCollection); $route = new Route(); $route->setParentDocument($routeCollection); $route->setName('get-1'); $route->setMethods(array(Request::METHOD_GET)); $manager->persist($route); $route = new Route(); $route->setParentDocument($routeCollection); $route->setName('post-1'); $route->setMethods(array(Request::METHOD_POST)); $manager->persist($route); $route = new Route(); $route->setParentDocument($routeCollection); $route->setName('put-1'); $route->setMethods(array(Request::METHOD_PUT)); $manager->persist($route); $route = new Route(); $route->setParentDocument($routeCollection); $route->setName('delete-1'); $route->setMethods(array(Request::METHOD_DELETE)); $manager->persist($route); $route = new Route(); $route->setParentDocument($routeCollection); $route->setName('patch-1'); $route->setMethods(array(Request::METHOD_PATCH)); $manager->persist($route); $manager->flush(); }
public function load(ObjectManager $manager) { $root = $manager->find(null, '/'); $test = new Generic(); $test->setNodename('test'); $test->setParentDocument($root); $manager->persist($test); $content = new Generic(); $content->setNodename('content'); $content->setParentDocument($test); $manager->persist($content); $aContent = new Content(); $aContent->id = '/test/content/a'; $manager->persist($aContent); $bContent = new Content(); $bContent->id = '/test/content/b'; $manager->persist($bContent); $cms = new Generic(); $cms->setNodename('cms'); $cms->setParentDocument($test); $manager->persist($cms); $routes = new Generic(); $routes->setNodename('routes'); $routes->setParentDocument($cms); $manager->persist($routes); $aRoute = new Route(); $aRoute->setName('a'); $aRoute->setParentDocument($routes); $aRoute->setContent($aContent); $manager->persist($aRoute); $bRoute = new Route(); $bRoute->setName('b'); $bRoute->setParentDocument($routes); $bRoute->setContent($bContent); $manager->persist($bRoute); $manager->flush(); }
/** * Creates pages and their corresponding routes & menu entries * @param ObjectManager $this->documentManager PHPCR ODM DocumentManager instance */ private function createLondaPages() { //the menus $mainMenu = $this->createMenus(); $pages = Yaml::parse(file_get_contents(__DIR__ . '/../../Resources/data/pages.yml')); //Create the pages and their corresponding routes and menu nodes foreach ($pages["KanzuCode\\LondaBundle\\Document\\Page"] as $pageId => $page) { //Define the route $route = new Route(); $route->setParentDocument($this->documentManager->find(null, $this->config['parameters']['londa.basepath.routes'])); $route->setName($page['route']); if (isset($page['template'])) { $route->setDefault('_template', "KanzuCodeLondaBundle:Default:{$page['template']}.html.twig"); } if (isset($page['controller'])) { $route->setDefault('_controller', "KanzuCodeLondaBundle:LondaContent:{$page['controller']}"); } $this->documentManager->persist($route); // add the route //Add menu node $menuNode = new MenuNode(); $menuNode->setName($pageId); $menuNode->setLabel($page['title']); $menuNode->setParentDocument($mainMenu); $this->documentManager->persist($menuNode); //Do the content $content = new Page(); $content->setParentDocument($this->documentManager->find(null, $this->config['parameters']['londa.basepath.pages'])); $content->setName($pageId); $content->setTitle($page['title']); $content->setBody($page['body']); $content->addRoute($route); $content->addMenuNode($menuNode); $this->documentManager->persist($content); } }
protected function loadMenu(DocumentManager $manager) { $route = new Route(); $route->setName('content-1'); $route->setParentDocument($this->routeRoot); $manager->persist($route); $content = new Content(); $content->setTitle('Menu Item Content 1'); $content->setId('/test/content-menu-item-1'); $content->addRoute($route); $menu = new Menu(); $menu->setName('test-menu'); $menu->setLabel('Test Menu'); $menu->setParentDocument($this->menuRoot); $manager->persist($menu); $menuNode = new MenuNode(); $menuNode->setParentDocument($menu); $menuNode->setLabel('item-1'); $menuNode->setName('item-1'); $manager->persist($menuNode); $menuNode = new MenuNode(); $menuNode->setParentDocument($menu); $menuNode->setLabel('This node has a URI'); $menuNode->setUri('http://www.example.com'); $menuNode->setName('item-2'); $manager->persist($menuNode); $subNode = new MenuNode(); $subNode->setParentDocument($menuNode); $subNode->setLabel('This node has content'); $subNode->setName('sub-item-1'); $subNode->setContent($content); $manager->persist($subNode); $content->addMenuNode($subNode); $subNode = new MenuNode(); $subNode->setParentDocument($menuNode); $subNode->setLabel('This node has an assigned route'); $subNode->setName('sub-item-2'); $subNode->setRoute('link_test_route'); $manager->persist($subNode); $subNode = new MenuNode(); $subNode->setParentDocument($menuNode); $subNode->setLabel('This node has an assigned route with parameters'); $subNode->setName('sub-item-3'); $subNode->setRoute('link_test_route_with_params'); $subNode->setRouteParameters(array('foo' => 'bar', 'bar' => 'foo')); $manager->persist($subNode); $menuNode = new MenuNode(); $menuNode->setParentDocument($menu); $menuNode->setLabel('item-3'); $menuNode->setName('item-3'); $manager->persist($menuNode); $menu = new Menu(); $menu->setName('another-menu'); $menu->setLabel('Another Menu'); $menu->setParentDocument($this->menuRoot); $manager->persist($menu); $menuNode = new MenuNode(); $menuNode->setParentDocument($menu); $menuNode->setLabel('This node has uri, route and content set. but linkType is set to route'); $menuNode->setLinkType('route'); $menuNode->setUri('http://www.example.com'); $menuNode->setRoute('link_test_route'); $menuNode->setName('item-1'); $manager->persist($menuNode); $menuNode = new MenuNode(); $menuNode->setParentDocument($menu); $menuNode->setLabel('item-2'); $menuNode->setName('item-2'); $manager->persist($menuNode); $manager->persist($content); }
/** * Create a route * @param Array $routeInfo The route's information. Name, variable pattern, defaults & requirements * @return Route */ private function createRoute($routeInfo) { $route = new Route(); $route->setParentDocument($this->documentManager->find(null, $this->config['parameters']['londa.basepath.routes'])); $route->setName($routeInfo['name']); if (isset($routeInfo['variable_pattern'])) { $route->setVariablePattern($routeInfo['variable_pattern']); } if (isset($routeInfo['requirements'])) { $this->setRouteRequirements($route, $routeInfo['requirements']); } if (isset($routeInfo['defaults'])) { $this->setRouteDefaults($route, $routeInfo['defaults']); } return $route; }