setParentDocument() public method

Note that this will change the URL this route matches.
public setParentDocument ( object $parent )
$parent object the new parent document
 /**
  * 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();
 }
Example #5
0
 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);
     }
 }
Example #7
0
 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;
 }