/** * @param CM_Params $params * @return array */ public function loadComponent(CM_Params $params) { $component = CM_Component_Abstract::factory($params->getString('className'), $params); $renderAdapter = new CM_RenderAdapter_Component($this->getRender(), $component); $html = $renderAdapter->fetch(); $frontend = $this->getRender()->getGlobalResponse(); $data = array('autoId' => $frontend->getTreeRoot()->getValue()->getAutoId(), 'html' => $html, 'js' => $frontend->getJs()); $frontend->clear(); return $data; }
/** * @param CM_Component_Abstract $component * @param CM_Model_User|null $viewer * @param CM_Site_Abstract|null $site * @return CM_Dom_NodeList */ protected function _renderComponent(CM_Component_Abstract $component, CM_Model_User $viewer = null, CM_Site_Abstract $site = null) { $render = new CM_Frontend_Render(new CM_Frontend_Environment($site, $viewer)); $renderAdapter = new CM_RenderAdapter_Component($render, $component); $componentHtml = $renderAdapter->fetch(); return new CM_Dom_NodeList($componentHtml, true); }