Beispiel #1
0
 /**
  * @return string
  */
 public function fetch()
 {
     $render = $this->getRender();
     $page = $this->_getPage();
     $layoutClass = $page->getLayout($render->getEnvironment());
     $layout = new $layoutClass(['page' => $page]);
     $document = $this->_getDocument();
     $renderAdapterPage = new CM_RenderAdapter_Page($render, $page);
     $renderAdapterLayout = new CM_RenderAdapter_Layout($render, $layout);
     $page->checkAccessible($render->getEnvironment());
     $viewResponse = new CM_Frontend_ViewResponse($document);
     $frontend = $render->getGlobalResponse();
     $frontend->treeExpand($viewResponse);
     $viewResponse->setTemplateName('default');
     $document->prepare($render->getEnvironment(), $viewResponse);
     $viewResponse->set('viewResponse', $viewResponse);
     $viewResponse->set('page', $page);
     $viewResponse->set('layoutContent', $renderAdapterLayout->fetch());
     $viewResponse->set('title', $renderAdapterPage->fetchTitleWithBranding());
     $viewResponse->set('metaDescription', $renderAdapterPage->fetchDescription());
     $viewResponse->set('metaKeywords', $renderAdapterPage->fetchKeywords());
     $webFontLoaderConfig = $render->getSite()->getWebFontLoaderConfig();
     if ($webFontLoaderConfig) {
         $viewResponse->set('webFontLoaderConfig', CM_Params::encode($webFontLoaderConfig, true));
     }
     $environmentDefault = new CM_Frontend_Environment($render->getEnvironment()->getSite());
     $renderDefault = new CM_Frontend_Render($environmentDefault);
     $viewResponse->set('renderDefault', $renderDefault);
     $viewResponse->set('languageList', new CM_Paging_Language_Enabled());
     $frontend->getOnloadHeaderJs()->append('cm.options = ' . CM_Params::encode($this->_getOptions(), true));
     if ($viewer = $render->getViewer()) {
         $frontend->getOnloadHeaderJs()->append('cm.viewer = ' . CM_Params::encode($viewer, true));
     }
     $frontend->getOnloadReadyJs()->append('cm.getLayout()._ready();');
     $frontend->getOnloadHeaderJs()->append('cm.ready();');
     $html = $render->fetchViewResponse($viewResponse);
     $frontend->treeCollapse();
     return $html;
 }
Beispiel #2
0
 /**
  * @param CM_Page_Abstract $page
  * @return string
  */
 protected function _renderPage(CM_Page_Abstract $page)
 {
     $renderAdapterPage = new CM_RenderAdapter_Page($this->getRender(), $page);
     $this->_title = $renderAdapterPage->fetchTitleWithBranding();
     return $renderAdapterPage->fetch();
 }