Exemplo n.º 1
0
 /**
  * @param \Doctrine\Common\Persistence\ObjectManager $manager
  * @param $locale
  */
 public function createMenuItems(ObjectManager $manager, $locale)
 {
     $menuRoot = new MenuItem();
     $menuRoot->setName('Main menu');
     $menuRoot->setLocale($locale);
     $menuRoot->setIsRoot(true);
     $menuRoot->setLvl(1);
     $menuRoot->setLft(1);
     $menuRoot->setRgt(2);
     $manager->persist($menuRoot);
     $manager->flush();
     $homePageMenu = new MenuItem();
     $homePageMenu->setName('Homepage');
     $homePageMenu->setPage($this->getReference('homepage_' . $locale));
     $homePageMenu->setParent($menuRoot);
     $manager->persist($homePageMenu);
     $manager->flush();
     $footerRoot = new MenuItem();
     $footerRoot->setName('Footer menu');
     $footerRoot->setLocale($locale);
     $footerRoot->setIsRoot(true);
     $footerRoot->setLvl(1);
     $footerRoot->setLft(1);
     $footerRoot->setRgt(2);
     $manager->persist($footerRoot);
     $manager->flush();
 }
 /**
  * @param \Symfony\Component\HttpFoundation\Request $request
  * @param $rootId
  * @param $pageId
  * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function createFromPageAction(Request $request, $rootId, $pageId)
 {
     $rootNode = $this->admin->getObject($rootId);
     if (!$rootNode) {
         throw new NotFoundHttpException(sprintf('unable to find the Menu with id : %s', $rootId));
     }
     $page = $this->get('networking_init_cms.page_manager')->find($pageId);
     if (!$page) {
         throw new NotFoundHttpException(sprintf('unable to find the Page with id : %s', $pageId));
     }
     $menuItem = new MenuItem();
     $menuItem->setPage($page);
     $menuItem->setRoot($rootNode);
     $menuItem->setParent($rootNode);
     $menuItem->setName($page->getTitle());
     $em = $this->getDoctrine()->getManager();
     $em->persist($menuItem);
     $em->flush();
     $this->admin->createObjectSecurity($menuItem);
     return $this->redirect($this->admin->generateUrl('list', array('page_id' => $page->getId(), 'menu_id' => $menuItem->getId())) . '#end');
 }