private function createMainMenu() { $menuParent = $this->documentManager->find(null, $this->config['parameters']['londa.basepath.menu']); $mainMenu = new Menu(); $mainMenu->setName('main-menu'); $mainMenu->setLabel('Main Menu'); $mainMenu->setChildrenAttributes(['class' => 'nav navbar-nav navbar--londa-nav navbar-right']); $mainMenu->setParentDocument($menuParent); $this->documentManager->persist($mainMenu); return $mainMenu; }
protected function loadVoterMenu(DocumentManager $manager) { // test content $content = new Content(); $content->setTitle('Content 1'); $content->setId('/test/content-1'); $manager->persist($content); $route = new Route(); $route->setId('/test/routes/contents/content-1'); $route->setDefault('_controller', 'Symfony\\Cmf\\Bundle\\MenuBundle\\Tests\\Resources\\Controller\\VoterController::requestContentIdentityAction'); $route->setContent($content); $manager->persist($route); // test blog $blog = new Content(); $blog->setTitle('Blog'); $blog->setId('/test/blog-1'); $manager->persist($blog); $route = new Route(); $route->setId('/test/routes/blog'); $route->setDefault('_controller', 'Symfony\\Cmf\\Bundle\\MenuBundle\\Tests\\Resources\\Controller\\VoterController::blogAction'); $route->setContent($blog); $manager->persist($route); // test blog post $post = new Post(); $post->setTitle('My Post'); $post->setId('/test/blog-1/my-post'); $manager->persist($post); $route = new Route(); $route->setId('/test/routes/blog/my-post'); $route->setDefault('_controller', 'Symfony\\Cmf\\Bundle\\MenuBundle\\Tests\\Resources\\Controller\\VoterController::postAction'); $route->setContent($post); $manager->persist($route); // test articles $articles = new Content(); $articles->setTitle('Articles Index'); $articles->setId('/test/articles'); $manager->persist($articles); $articlesRoute = new Route(); $articlesRoute->setId('/test/routes/articles'); $articlesRoute->setDefault('_controller', 'Symfony\\Cmf\\Bundle\\MenuBundle\\Tests\\Resources\\Controller\\VoterController::articlesAction'); $articlesRoute->setContent($articles); $articlesRoute->setOption('currentUriPrefix', '/articles'); $manager->persist($articlesRoute); $article1 = new Content(); $article1->setTitle('Article 1'); $article1->setId('/test/article-1'); $manager->persist($article1); $route = new Route(); $route->setId('/test/routes/articles/some-category'); $manager->persist($route); $route = new Route(); $route->setId('/test/routes/articles/some-category/article-1'); $route->setDefault('_controller', 'Symfony\\Cmf\\Bundle\\MenuBundle\\Tests\\Resources\\Controller\\VoterController::postAction'); $route->setContent($article1); $manager->persist($route); // menu items $menu = new Menu(); $menu->setName('side-menu'); $menu->setLabel('Side Menu'); $menu->setParentDocument($this->menuRoot); $manager->persist($menu); $menuNode = new MenuNode(); $menuNode->setParentDocument($menu); $menuNode->setLabel('Default Behavior'); $menuNode->setName('default'); $menuNode->setRoute('current_menu_item_default'); $manager->persist($menuNode); $menuNode = new MenuNode(); $menuNode->setParentDocument($menu); $menuNode->setLabel('Request Content Identity Voter'); $menuNode->setName('request-content-identity-voter'); $menuNode->setContent($content); $manager->persist($menuNode); $menuNode = new MenuNode(); $menuNode->setParentDocument($menu); $menuNode->setLabel('URI Prefix Voter'); $menuNode->setName('uri-prefix-voter'); $menuNode->setContent($articlesRoute); $manager->persist($menuNode); $menuNode = new MenuNode(); $menuNode->setParentDocument($menu); $menuNode->setLabel('Request Parent Content Identity Voter'); $menuNode->setName('request-parent-content-identity-voter'); $menuNode->setContent($blog); $manager->persist($menuNode); }
public function load(ObjectManager $manager) { NodeHelper::createPath($manager->getPhpcrSession(), '/test'); $root = $manager->find(null, '/test'); $parent = new Generic(); $parent->setParentDocument($root); $parent->setNodename('blocks'); $manager->persist($parent); //Simple $block = new SimpleBlock(); $block->setParentDocument($parent); $block->setName('block-1'); $block->setTitle('block-1-title'); $block->setBody('block-1-body'); $manager->persist($block); $block = new SimpleBlock(); $block->setParentDocument($parent); $block->setName('block-2'); $block->setTitle('block-2-title'); $block->setBody('block-2-body'); $block->setPublishable(false); $manager->persist($block); //Action $actionBlockOne = new ActionBlock(); $actionBlockOne->setParentDocument($parent); $actionBlockOne->setName('action-block-1'); $actionBlockOne->setActionName('cmf_block_test.test_controller:dummyAction'); $actionBlockOne->setPublishable(true); $manager->persist($actionBlockOne); $actionBlockTwo = new ActionBlock(); $actionBlockTwo->setParentDocument($parent); $actionBlockTwo->setName('action-block-2'); $actionBlockTwo->setActionName('FooBundle:Bar:actionTwo'); $actionBlockTwo->setPublishable(false); $manager->persist($actionBlockTwo); //Container $childBlockOne = new SimpleBlock(); $childBlockOne->setName('block-child-1'); $childBlockOne->setTitle('block-child-1-title'); $childBlockOne->setBody('block-child-1-body'); $containerBlock = new ContainerBlock(); $containerBlock->setParentDocument($parent); $containerBlock->setName('container-block-1'); $containerBlock->addChild($childBlockOne); $manager->persist($containerBlock); $block = new ContainerBlock(); $block->setParentDocument($parent); $block->setName('container-block-2'); $block->setPublishable(false); $manager->persist($block); //Reference $block = new ReferenceBlock(); $block->setParentDocument($parent); $block->setName('reference-block-1'); $block->setReferencedBlock($actionBlockOne); $manager->persist($block); $block = new ReferenceBlock(); $block->setParentDocument($parent); $block->setName('reference-block-2'); $block->setReferencedBlock($actionBlockTwo); $block->setPublishable(false); $manager->persist($block); // Menu Nodes NodeHelper::createPath($manager->getPhpcrSession(), '/test/menus'); $menuRoot = $manager->find(null, '/test/menus'); $menu = new Menu(); $menu->setName('test-menu'); $menu->setLabel('Test Menu'); $menu->setParentDocument($menuRoot); $manager->persist($menu); $menuNodeOne = new MenuNode(); $menuNodeOne->setName('menu-node-1'); $menuNodeOne->setLabel('menu-node-1'); $menuNodeOne->setParentDocument($menu); $manager->persist($menuNodeOne); $menuNodeTwo = new MenuNode(); $menuNodeTwo->setName('menu-node-2'); $menuNodeTwo->setLabel('menu-node-2'); $menuNodeTwo->setParentDocument($menu); $manager->persist($menuNodeTwo); //Menu $block = new MenuBlock(); $block->setParentDocument($parent); $block->setName('menu-block-1'); $block->setMenuNode($menuNodeOne); $manager->persist($block); $block = new MenuBlock(); $block->setParentDocument($parent); $block->setName('menu-block-2'); $block->setMenuNode($menuNodeTwo); $block->setPublishable(false); $manager->persist($block); //String $block = new StringBlock(); $block->setParentDocument($parent); $block->setName('string-block-1'); $block->setBody('string-block-1-body'); $manager->persist($block); $block = new StringBlock(); $block->setParentDocument($parent); $block->setName('string-block-2'); $block->setBody('string-block-2-body'); $block->setPublishable(false); $manager->persist($block); $manager->flush(); }
private function createMenus() { //the main menu $menuParent = $this->documentManager->find(null, $this->config['parameters']['londa.basepath.menu']); $mainMenu = new Menu(); $mainMenu->setName('main-menu'); $mainMenu->setLabel('Main Menu'); $mainMenu->setChildrenAttributes(['class' => 'nav navbar-nav navbar--londa-nav navbar-right']); $mainMenu->setParentDocument($menuParent); $this->documentManager->persist($mainMenu); // add the main menu //footer menu $footerMenu = new Menu(); $footerMenu->setName('footer-menu'); $footerMenu->setLabel('Footer Menu'); $footerMenu->setChildrenAttributes(['class' => 'footer-nav-tabs nav nav-tabs']); $footerMenu->setParentDocument($menuParent); $this->documentManager->persist($footerMenu); // add the footer menu return $mainMenu; }
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); }