private function renderPage($sUrl) { // Build page object $oPage = new Page($sUrl, $this->sConfigFile); $oPage->build(); // Get the theme $sTheme = $this->_oConfig->get('site', 'theme'); $oTheme = new Theme($sTheme, $this->sConfigFile); // Add assets, blocks and config $oTheme->setPageConfig($oPage->getConfig()); $oTheme->addBlocks($oPage->getBlocks()); $oTheme->addAssets($oPage->getAssets()); // Add page list for menus $sPath = $this->_oConfig->getPath('pages'); $oFilesystem = new Filesystem(); $aPageList = $oFilesystem->getAllPagesInDir($sPath, '', $this->sConfigFile); $oTheme->setSitemapInfo($this->determineUrl(), $aPageList, $oPage->getChildren()); return $oTheme->renderPage(); }
/** * Get "copy code" for page. * * @param Page $page * @return array */ public static function getPageCode(Page $page) { $pages = array(); foreach ($page->getChildren() as $child) { $pages[] = self::getPageCode($child); } return array("id" => $page->getPageId(), "uid" => $page->getUid(), "name" => $page->getName(), "url" => $page->getUrl(), "visible" => $page->getVisible(), "enabled" => $page->getEnabled(), "include_in_index" => $page->getIncludeInIndex(), "redirect_method" => $page->getRedirectMethod(), "redirect_page" => $page->getRedirectPage() ? $page->getRedirectPage()->getUrl() : null, "redirect_url" => $page->getRedirectUrl(), "model_route" => $page->getModelRoute(), "meta" => self::getMetadataCode($page), "image" => $page->getImage(), "langcode" => $page->getLangcode(), "generator" => $page->getGenerator(), "encoding" => $page->getEncoding(), "revision" => $page->getActivePageRevision() ? self::getPageRevisionCode($page->getActivePageRevision()) : null, "modified" => $page->getLastModified(), "pages" => $pages); }
private function getPageFromDir($sDir, $sUrl, $sGlobalConfigFile) { $sNewUrl = $sUrl . '/' . $sDir; $oPage = new Page($sNewUrl, $sGlobalConfigFile); $aConfig = $oPage->getConfig(); if (is_array($aConfig)) { $aConfig = array_change_key_case($aConfig, CASE_LOWER); } else { $aConfig = array(); } return array('name' => $sDir, 'url' => $sNewUrl, 'config' => $aConfig, 'children' => $oPage->getChildren()); }