コード例 #1
0
 /**
  * @Route("/admin/content/{route}/{placeholder}")
  * @Template
  */
 public function blockAction($route, $placeholder)
 {
     $request = $this->get('request');
     $em = $this->get('doctrine.orm.entity_manager');
     $pageRepository = $this->get('content.page_repository');
     $blockRepository = $this->get('content.block_repository');
     $page = $pageRepository->findOneByRoute($route);
     if (is_null($page)) {
         $page = new Page();
         $page->setRoute($route);
     }
     if ($page->getBlocks()->containsKey($placeholder)) {
         $block = $page->getBlocks()->get($placeholder);
     } else {
         $block = new Block();
         $block->setPage($page);
         $block->setPlaceholder($placeholder);
     }
     // Process the form
     if ($request->getMethod() == "POST") {
         if ($request->request->get('content')) {
             $block->setContent($request->request->get('content'));
             $em->persist($block);
             $em->flush();
         }
     }
     return array('page' => $page, 'block' => $block);
 }
コード例 #2
0
ファイル: Page.php プロジェクト: Josiah/WebDevContentBundle
 /**
  * Add block
  *
  * @param WebDev\ContentBundle\Entity\Block $block
  */
 public function addBlock(Block $block)
 {
     if (!$block->getPlaceholder()) {
         throw new Exception("Cannot add content block without a placeholder.");
     }
     $this->blocks[$block->getPlaceholder()] = $block;
 }
コード例 #3
0
 public function add($placeholder, $content)
 {
     $context = $this->contentManager->getContext();
     $page = $context->getPage();
     $block = new Block();
     $block->setPage($page);
     $block->setPlaceholder($placeholder);
     $block->setContent($content);
     $page->addBlock($block);
 }
コード例 #4
0
 /**
  * Adds a block to this context
  *
  * @param WebDev\ContentBundle\Entity\Block $block
  */
 public function addBlock(Block $block)
 {
     $this->blocks[$block->getPlaceholder()] = $block;
 }
コード例 #5
0
 public function getBlockAdminUri(Block $block, $format = 'html')
 {
     $router = $this->router;
     $page = $block->getPage();
     return $router->generate('webdev_content_admin_block', array('route' => $page->getRoute(), 'placeholder' => $block->getPlaceholder(), '_format' => $format));
 }