/** * 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(); }
/** * Load data fixtures with the passed DocumentManager * * @param DocumentManager $manager */ public function load(ObjectManager $manager) { if (!$manager instanceof DocumentManager) { $class = get_class($manager); throw new \RuntimeException("Fixture requires a PHPCR ODM DocumentManager instance, instance of '{$class}' given."); } // tweak homepage $page = $manager->find(null, '/cms/simple'); $page->setBody('Hello'); $page->setDefault('_template', 'AcmeDemoBundle::home.html.twig'); // add menu item for home $menuRoot = $manager->find(null, '/cms/simple'); $homeMenuNode = new MenuNode('home'); $homeMenuNode->setLabel('Home'); $homeMenuNode->setParentDocument($menuRoot); $homeMenuNode->setContent($page); $manager->persist($homeMenuNode); // load the pages Fixtures::load(array(__DIR__ . '/../../Resources/data/pages.yml'), $manager); // add menu item for login $loginMenuNode = new MenuNode('login'); $loginMenuNode->setLabel('Admin Login'); $loginMenuNode->setParentDocument($menuRoot); $loginMenuNode->setRoute('_demo_login'); $manager->persist($loginMenuNode); // load the blocks NodeHelper::createPath($manager->getPhpcrSession(), '/cms/content/blocks'); Fixtures::load(array(__DIR__ . '/../../Resources/data/blocks.yml'), $manager); // save the changes $manager->flush(); }
/** * 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'); $menuBase = $manager->find(null, '/cms/menu'); $enRoute = new Route(); $enRoute->setPosition($routeParent, 'en'); $manager->persist($enRoute); $deRoute = new Route(); $deRoute->setPosition($routeParent, 'de'); $manager->persist($deRoute); $enServiceRoute = new Route(); $enServiceRoute->setPosition($enRoute, 'services'); $manager->persist($enServiceRoute); $deServiceRoute = new Route(); $deServiceRoute->setPosition($deRoute, 'dienstleistungen'); $manager->persist($deServiceRoute); $content = new StaticContent(); $content->setParentDocument($contentParent); $content->setName('symfony-service'); $manager->persist($content); $content->setTitle('Symfony Service'); $content->setBody('A page about Symfony service'); $manager->bindTranslation($content, 'en'); $contentRoute = new Route(); $contentRoute->setPosition($enServiceRoute, 'symfony-service'); $contentRoute->setContent($content); $manager->persist($contentRoute); $content->setTitle('Symfony Dienstleistungen'); $content->setBody('Eine Seite über Symfony Dienstleistungen'); $manager->bindTranslation($content, 'de'); $contentRoute = new Route(); $contentRoute->setPosition($deServiceRoute, 'symfony-dienstleistungen'); $contentRoute->setContent($content); $manager->persist($contentRoute); $menu = new Menu(); $menu->setPosition($menuBase, 'footer'); $manager->persist($menu); $menuNode = new MenuNode(); $menuNode->setParentDocument($menu); $menuNode->setContent($content); $menuNode->setName('symfony-service'); $manager->persist($menuNode); $menuNode->setLabel('Symfony Services'); $manager->bindTranslation($menuNode, 'en'); $menuNode->setLabel('Symfony Dienstleistungen'); $manager->bindTranslation($menuNode, 'de'); $manager->flush(); }
/** * @param \Acme\BasicCmsBundle\Document\Page $document * @return void */ public function postUpdate($document) { $nodeMenu = $this->getModelManager()->find(null, $document->getId()); if (null === $nodeMenu) { $menu = $this->getModelManager()->find('Symfony\\Cmf\\Bundle\\MenuBundle\\Doctrine\\Phpcr\\Menu', '/cms/menu/main-menu'); $nodeMenu = new MenuNode(); $nodeMenu->setName($document->getSlug()); $nodeMenu->setLabel($document->getTitle()); $nodeMenu->setContent($document); $nodeMenu->setParentDocument($menu); /** @var DocumentManager $documentManager */ $documentManager = $this->container->get('doctrine_phpcr')->getManager(); $documentManager->persist($nodeMenu); $documentManager->flush(); } }
/** * Load data fixtures with the passed EntityManager * * @param ObjectManager|DocumentManager $manager */ public function load(ObjectManager $manager) { if (!$manager instanceof DocumentManager) { $class = get_class($manager); throw new \RuntimeException("Fixture requires a PHPCR ODM DocumentManager instance, instance of '{$class}' given."); } // tweak homepage $page = $manager->find(null, '/cms/simple'); $page->setBody('Hello'); $page->setDefault('_template', 'IPCApplicationBundle::home.html.twig'); // add menu item for home $menuRoot = $manager->find(null, '/cms/simple'); $homeMenuNode = new MenuNode('home'); $homeMenuNode->setLabel('Home'); $homeMenuNode->setParentDocument($menuRoot); $homeMenuNode->setContent($page); $manager->persist($homeMenuNode); // load the pages Fixtures::load(array(__DIR__ . '/../../Resources/data/pages.yml'), $manager); // save the changes $manager->flush(); }
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); }
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); }