This method is invoked by {@link renderControl} when the control is visible.
You can override this method to provide customized rendering of the control.
By default, the control simply renders all its child contents.
public render ( $writer ) |
/** * Renders the literal control. * @param THtmlWriter the writer used for the rendering purpose */ public function render($writer) { if (($text = $this->getText()) !== '') { if ($this->getEncode()) { $writer->write(THttpUtility::htmlEncode($text)); } else { $writer->write($text); } } else { parent::render($writer); } }
/** * Renders the output cache control. * This method overrides the parent implementation by capturing the output * from its child controls and saving it into cache, if output cache is needed. * @param THtmlWriter */ public function render($writer) { if ($this->_dataCached) { $writer->write($this->_contents); } else { if ($this->_cacheAvailable) { $textwriter = new TTextWriter(); $multiwriter = new TOutputCacheTextWriterMulti(array($writer->getWriter(), $textwriter)); $htmlWriter = Prado::createComponent($this->GetResponse()->getHtmlWriterType(), $multiwriter); $stack = $this->getPage()->getCachingStack(); $stack->push($this); parent::render($htmlWriter); $stack->pop(); $content = $textwriter->flush(); $data = array($content, $this->_state, $this->_actions, time()); $this->_cache->set($this->getCacheKey(), $data, $this->getDuration(), $this->getCacheDependency()); } else { parent::render($writer); } } }
/** * Renders the head control. * @param THtmlWriter the writer for rendering purpose. */ public function render($writer) { $page = $this->getPage(); $title = $this->getTitle(); $writer->write("<head>\n<title>" . THttpUtility::htmlEncode($title) . "</title>\n"); if (($baseUrl = $this->getBaseUrl()) !== '') { $writer->write('<base href="' . $baseUrl . "\" />\n"); } if (($icon = $this->getShortcutIcon()) !== '') { $writer->write('<link rel="shortcut icon" href="' . $icon . "\" />\n"); } if (($metaTags = $this->getMetaTags()) !== null) { foreach ($metaTags as $metaTag) { $metaTag->render($writer); $writer->writeLine(); } } $cs = $page->getClientScript(); $cs->renderStyleSheetFiles($writer); $cs->renderStyleSheets($writer); if ($page->getClientSupportsJavaScript()) { $cs->renderHeadScriptFiles($writer); $cs->renderHeadScripts($writer); } parent::render($writer); $writer->write("</head>\n"); }
/** * Performs XSL transformation and render the output. * @param THtmlWriter The writer used for the rendering purpose */ public function render($writer) { if (($document = $this->getSourceXmlDocument()) === null) { $htmlWriter = Prado::createComponent($this->GetResponse()->getHtmlWriterType(), new TTextWriter()); parent::render($htmlWriter); $document = new DOMDocument(); $document->loadXML($htmlWriter->flush()); } $stylesheet = $this->getTransformXmlDocument(); // Perform XSL transformation $xslt = new XSLTProcessor(); $xslt->importStyleSheet($stylesheet); // Check for parameters $parameters = $this->getParameters(); foreach ($parameters as $name => $value) { $xslt->setParameter('', $name, $value); } $output = $xslt->transformToXML($document); // Write output $writer->write($output); }
/** * Renders body content. * This method overrides parent implementation by removing malicious code from the body content * @param THtmlWriter writer */ public function render($writer) { $htmlWriter = Prado::createComponent($this->GetResponse()->getHtmlWriterType(), new TTextWriter()); parent::render($htmlWriter); $writer->write($this->parseSafeHtml($htmlWriter->flush())); }