Exemplo n.º 1
0
 /**
  * @param CM_Page_Abstract      $page
  * @param CM_Model_User|null    $viewer
  * @param CM_Site_Abstract|null $site
  * @return CM_Dom_NodeList
  */
 protected function _renderPage(CM_Page_Abstract $page, CM_Model_User $viewer = null, CM_Site_Abstract $site = null)
 {
     if (null === $site) {
         $site = CM_Site_Abstract::factory();
     }
     $host = parse_url($site->getUrl(), PHP_URL_HOST);
     $request = new CM_Http_Request_Get('?' . http_build_query($page->getParams()->getParamsEncoded()), array('host' => $host), null, $viewer);
     $response = new CM_Http_Response_Page($request, $this->getServiceManager());
     $page->prepareResponse($response->getRender()->getEnvironment(), $response);
     $renderAdapter = new CM_RenderAdapter_Page($response->getRender(), $page);
     $html = $renderAdapter->fetch();
     return new CM_Dom_NodeList($html, true);
 }