JDocumentRendererHead/fetchHead: Difference between revisions
From Joomla! Documentation
New page: ===Description===
Generates the head html and return the results as a string
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>[[Description:JDocumentRendererHead/fe... |
m preparing for archive only |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
Generates the head html and return the results as a string | Generates the head html and return the results as a string | ||
===Syntax=== | ===Syntax=== | ||
Line 17: | Line 15: | ||
!Description | !Description | ||
|- | |- | ||
| | | &$document | ||
| | | | ||
| | | | ||
Line 153: | Line 151: | ||
</source> | </source> | ||
===Examples=== | ===Examples=== | ||
=== Code Examples === | |||
<dpl> | <dpl> | ||
noresultsheader=\n | noresultsheader=\n | ||
category=fetchHead | category=fetchHead | ||
category=JDocumentRendererHead | category=JDocumentRendererHead | ||
namespace=CodeExample | |||
category=MethodExample | category=MethodExample | ||
include=* | include=* | ||
format= ,,, | format= ,,, | ||
</dpl> | </dpl> |
Latest revision as of 01:33, 25 March 2017
Description
Generates the head html and return the results as a string
Syntax
fetchHead(&$document)
Parameter Name | Default Value | Description |
---|---|---|
&$document |
Returns
string
Defined in
libraries/joomla/document/html/renderer/head.php
Importing
jimport( 'joomla.document.html.renderer.head' );
Source Body
public function fetchHead(&$document)
{
// get line endings
$lnEnd = $document->_getLineEnd();
$tab = $document->_getTab();
$tagEnd = ' />';
$buffer = '';
// Generate base tag (need to happen first)
$base = $document->getBase();
if (!empty($base)) {
$buffer .= $tab.'<base href="'.$document->getBase().'" />'.$lnEnd;
}
// Generate META tags (needs to happen as early as possible in the head)
foreach ($document->_metaTags as $type => $tag)
{
foreach ($tag as $name => $content)
{
if ($type == 'http-equiv') {
$buffer .= $tab.'<meta http-equiv="'.$name.'" content="'.$content.'"'.$tagEnd.$lnEnd;
}
else if ($type == 'standard') {
$buffer .= $tab.'<meta name="'.$name.'" content="'.$content.'"'.$tagEnd.$lnEnd;
}
}
}
$buffer .= $tab.'<meta name="description" content="'.$document->getDescription().'" />'.$lnEnd;
$buffer .= $tab.'<meta name="generator" content="'.$document->getGenerator().'" />'.$lnEnd;
$buffer .= $tab.'<title>'.htmlspecialchars($document->getTitle(), ENT_COMPAT, 'UTF-8').'</title>'.$lnEnd;
// Generate link declarations
foreach ($document->_links as $link) {
$buffer .= $tab.$link.$tagEnd.$lnEnd;
}
// Generate stylesheet links
foreach ($document->_styleSheets as $strSrc => $strAttr)
{
$buffer .= $tab . '<link rel="stylesheet" href="'.$strSrc.'" type="'.$strAttr['mime'].'"';
if (!is_null($strAttr['media'])){
$buffer .= ' media="'.$strAttr['media'].'" ';
}
if ($temp = JArrayHelper::toString($strAttr['attribs'])) {
$buffer .= ' '.$temp;;
}
$buffer .= $tagEnd.$lnEnd;
}
// Generate stylesheet declarations
foreach ($document->_style as $type => $content)
{
$buffer .= $tab.'<style type="'.$type.'">'.$lnEnd;
// This is for full XHTML support.
if ($document->_mime == 'text/html') {
$buffer .= $tab.$tab.'<!--'.$lnEnd;
} else {
$buffer .= $tab.$tab.'<![CDATA['.$lnEnd;
}
$buffer .= $content . $lnEnd;
// See above note
if ($document->_mime == 'text/html') {
$buffer .= $tab.$tab.'-->'.$lnEnd;
} else {
$buffer .= $tab.$tab.']]>'.$lnEnd;
}
$buffer .= $tab.'</style>'.$lnEnd;
}
// Generate script file links
foreach ($document->_scripts as $strSrc => $strType) {
$buffer .= $tab.'<script type="'.$strType.'" src="'.$strSrc.'"></script>'.$lnEnd;
}
// Generate script declarations
foreach ($document->_script as $type => $content)
{
$buffer .= $tab.'<script type="'.$type.'">'.$lnEnd;
// This is for full XHTML support.
if ($document->_mime != 'text/html') {
$buffer .= $tab.$tab.'<![CDATA['.$lnEnd;
}
$buffer .= $content.$lnEnd;
// See above note
if ($document->_mime != 'text/html') {
$buffer .= $tab.$tab.'// ]]>'.$lnEnd;
}
$buffer .= $tab.'</script>'.$lnEnd;
}
// Generate script language declarations.
if (count(JText::script())) {
$buffer .= $tab.'<script type="text/javascript">'.$lnEnd;
$buffer .= $tab.$tab.'(function() {'.$lnEnd;
$buffer .= $tab.$tab.$tab.'var strings = '.json_encode(JText::script()).';'.$lnEnd;
$buffer .= $tab.$tab.$tab.'if (typeof Joomla == \'undefined\') {'.$lnEnd;
$buffer .= $tab.$tab.$tab.$tab.'Joomla = {};'.$lnEnd;
$buffer .= $tab.$tab.$tab.$tab.'Joomla.JText = strings;'.$lnEnd;
$buffer .= $tab.$tab.$tab.'}'.$lnEnd;
$buffer .= $tab.$tab.$tab.'else {'.$lnEnd;
$buffer .= $tab.$tab.$tab.$tab.'Joomla.JText.load(strings);'.$lnEnd;
$buffer .= $tab.$tab.$tab.'}'.$lnEnd;
$buffer .= $tab.$tab.'})();'.$lnEnd;
$buffer .= $tab.'</script>'.$lnEnd;
}
foreach($document->_custom as $custom) {
$buffer .= $tab.$custom.$lnEnd;
}
return $buffer;
}
Examples
Code Examples