コード例 #1
0
 /**
  * Graphical Content editor
  *
  * @param Request $request
  * @param integer $id
  * @param integer $version
  *
  * @return Response
  */
 public function editAction(Request $request, $id, $version = 1)
 {
     $this->getDoctrine()->getManager()->getFilters()->disable('draftversion');
     /** @var ContentManager $contentManager */
     $contentManager = $this->get('opifer.content.content_manager');
     /** @var BlockManager $blockManager */
     $blockManager = $this->get('opifer.content.block_manager');
     $content = $contentManager->getRepository()->find($id);
     if (!$content) {
         throw $this->createNotFoundException('No content found for id ' . $id);
     }
     if (!$content->getBlock()) {
         // Create a new document
         $version = 1;
         $document = new DocumentBlock();
         $document->setRootVersion(1);
         $content->setBlock($document);
         $contentManager->save($content);
     }
     if (!$version) {
         $version = $blockManager->getNewVersion($content->getBlock());
         $content->getBlock()->setRootVersion($version);
     }
     $parameters = ['manager' => $blockManager, 'block' => $content->getBlock(), 'id' => $content->getId(), 'title' => $content->getTitle(), 'permalink' => $this->generateUrl('_content', ['slug' => $content->getSlug()]), 'version_current' => $version, 'version_published' => $content->getBlock()->getVersion(), 'url_properties' => $this->generateUrl('opifer_content_content_details', ['id' => $content->getId()]), 'url_cancel' => $this->generateUrl('opifer_content_content_index', []), 'url' => $this->generateUrl('opifer_content_contenteditor_view', ['id' => $content->getBlock()->getId(), 'version' => $version])];
     return $this->render('OpiferContentBundle:Editor:view.html.twig', $parameters);
 }
コード例 #2
0
 /**
  * Graphical Content editor
  *
  * @param Request $request
  * @param string  $type
  * @param integer $version
  *
  * @return Response
  */
 public function designAction(Request $request, $type, $id, $version = 0)
 {
     $this->getDoctrine()->getManager()->getFilters()->disable('draftversion');
     /** @var BlockManager $blockManager */
     $blockManager = $this->get('opifer.content.block_manager');
     /** @var AbstractDesignSuite $suite */
     $suite = $this->get(sprintf('opifer.content.%s_design_suite', $type));
     $suite->load($id, $version);
     if (!$suite->getBlock()) {
         // Create a new document
         $version = 1;
         $document = new DocumentBlock();
         $document->setRootVersion(1);
         $suite->setBlock($document);
         $suite->saveSubject();
     }
     if (!$version) {
         $version = $blockManager->getNewVersion($suite->getBlock());
         $suite->getSubject()->getBlock()->setRootVersion($version);
     }
     $parameters = ['manager' => $blockManager, 'block' => $suite->getBlock(), 'id' => $suite->getSubject()->getId(), 'type' => $type, 'title' => $suite->getTitle(), 'caption' => $suite->getCaption(), 'permalink' => $suite->getPermalink(), 'version_current' => $version, 'version_published' => $suite->getBlock()->getVersion(), 'url_properties' => $suite->getPropertiesUrl(), 'url_cancel' => $suite->getCancelUrl(), 'url' => $suite->getCanvasUrl($version)];
     return $this->render($this->getParameter('opifer_content.content_edit_view'), $parameters);
 }