コード例 #1
0
 public function indexAction($name)
 {
     $configuration = $this->getParameter("front_synchroniser");
     /**
      * @var $frontSynchroniserFinder FrontSynchroniserFinder
      */
     $frontSynchroniserFinder = $this->get("front_synchroniser.finder");
     if ($name !== null) {
         $renderManager = new FrontSynchroniserRender();
         return new Response($renderManager->renderStatic($configuration["staticdir"] . DIRECTORY_SEPARATOR . $name));
     }
     $finder = new Finder();
     $files = $finder->in($configuration["staticdir"])->name("*.html");
     $list = array();
     foreach ($files as $file) {
         $list[] = array("file" => $file->getFilename(), "meta" => $frontSynchroniserFinder->find($file->getFilename()));
     }
     return $this->render('FrontSynchroniserBundle:Default:index.html.twig', array('list' => $list));
 }
コード例 #2
0
 public function render($sourcePath, $edit = false, $js = false)
 {
     $configuration = $this->getMetadataFromPath($sourcePath);
     if ($configuration === null) {
         return "[ERROR COMPILATED]";
     }
     $html = $this->getStaticSource($configuration);
     $htmlObject = \Artack\DOMQuery\DOMQuery::create($html);
     $containerObject = $htmlObject->find($configuration["container"]);
     $renderManager = new FrontSynchroniserRender($configuration);
     $renderManager->render($containerObject, $configuration["dom"], $edit);
     $output = $containerObject->getHtml();
     if ($edit) {
         $output = "<pre><code class='html'>" . htmlspecialchars($output) . "</code></pre>";
     }
     if (!$js) {
         $output = $renderManager->postRender($output, $edit);
     }
     return $output;
 }