Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JDocumentHTML
+ Graphe d'héritage de JDocumentHTML:
+ Graphe de collaboration de JDocumentHTML:

Liste de tous les membres

Fonctions membres publiques

 __construct ($options=array())
 getHeadData ()
 setHeadData ($data)
 mergeHeadData ($data)
 addHeadLink ($href, $relation, $relType= 'rel', $attribs=array())
 addFavicon ($href, $type= 'image/vnd.microsoft.icon', $relation= 'shortcut icon')
 addCustomTag ($html)
 isHtml5 ()
 setHtml5 ($state)
 getBuffer ($type=null, $name=null, $attribs=array())
 setBuffer ($content, $options=array())
 parse ($params=array())
 render ($caching=false, $params=array())
 countModules ($condition)
 countMenuChildren ()
- Fonctions membres publiques inherited from JDocument
 setType ($type)
 getType ()
 getBuffer ()
 getMetaData ($name, $httpEquiv=false)
 setMetaData ($name, $content, $http_equiv=false)
 addScript ($url, $type="text/javascript", $defer=false, $async=false)
 addScriptVersion ($url, $version=null, $type="text/javascript", $defer=false, $async=false)
 addScriptDeclaration ($content, $type= 'text/javascript')
 addStyleSheet ($url, $type= 'text/css', $media=null, $attribs=array())
 addStyleSheetVersion ($url, $version=null, $type="text/css", $media=null, $attribs=array())
 addStyleDeclaration ($content, $type= 'text/css')
 setCharset ($type= 'utf-8')
 getCharset ()
 setLanguage ($lang="en-gb")
 getLanguage ()
 setDirection ($dir="ltr")
 getDirection ()
 setTitle ($title)
 getTitle ()
 setMediaVersion ($mediaVersion)
 getMediaVersion ()
 setBase ($base)
 getBase ()
 setDescription ($description)
 getDescription ()
 setLink ($url)
 getLink ()
 setGenerator ($generator)
 getGenerator ()
 setModifiedDate ($date)
 getModifiedDate ()
 setMimeEncoding ($type= 'text/html', $sync=true)
 getMimeEncoding ()
 setLineEnd ($style)
 _getLineEnd ()
 setTab ($string)
 _getTab ()
 loadRenderer ($type)

Attributs publics

 $_links = array()
 $_custom = array()
 $template = null
 $baseurl = null
 $params = null
 $_file = null
- Attributs publics inherited from JDocument
 $title = ''
 $description = ''
 $link = ''
 $base = ''
 $language = 'en-gb'
 $direction = 'ltr'
 $_generator = 'Joomla! - Open Source Content Management'
 $_mdate = ''
 $_tab = "\11"
 $_lineEnd = "\12"
 $_charset = 'utf-8'
 $_mime = ''
 $_namespace = ''
 $_profile = ''
 $_scripts = array()
 $_script = array()
 $_styleSheets = array()
 $_style = array()
 $_metaTags = array()
 $_engine = null
 $_type = null

Fonctions membres protégées

 _loadTemplate ($directory, $filename)
 _fetchTemplate ($params=array())
 _parseTemplate ()
 _renderTemplate ()

Attributs protégés

 $_template = ''
 $_template_tags = array()
 $_caching = null
- Attributs protégés inherited from JDocument
 $mediaVersion = null

Attributs privés

 $_html5 = null

Additional Inherited Members

- Fonctions membres publiques statiques inherited from JDocument
static getInstance ($type= 'html', $attributes=array())
- Attributs publics statiques inherited from JDocument
static $_buffer = null
- Attributs protégés statiques inherited from JDocument
static $instances = array()

Description détaillée

Définition à la ligne 21 du fichier html.php.


Documentation des constructeurs et destructeur

JDocumentHTML::__construct (   $options = array())

Class constructor

Paramètres:
array$optionsAssociative array of options
Depuis:
11.1

Réimplémentée à partir de JDocument.

Définition à la ligne 110 du fichier html.php.

{
// Set document type
$this->_type = 'html';
// Set default mime type and document metadata (meta data syncs with mime type by default)
$this->setMimeEncoding('text/html');
}

Documentation des fonctions membres

JDocumentHTML::_fetchTemplate (   $params = array())
protected

Fetch the template, and initialise the params

Paramètres:
array$paramsParameters to determine the template
Renvoie:
JDocumentHTML instance of $this to allow chaining
Depuis:
11.1

Définition à la ligne 602 du fichier html.php.

Références JUri\base(), JFilterInput\getInstance(), et JFactory\getLanguage().

{
// Check
$directory = isset($params['directory']) ? $params['directory'] : 'templates';
$template = $filter->clean($params['template'], 'cmd');
$file = $filter->clean($params['file'], 'cmd');
if (!file_exists($directory . '/' . $template . '/' . $file))
{
$template = 'system';
}
// Load the language file for the template
// 1.5 or core then 1.6
$lang->load('tpl_' . $template, JPATH_BASE, null, false, false)
|| $lang->load('tpl_' . $template, $directory . '/' . $template, null, false, false)
|| $lang->load('tpl_' . $template, JPATH_BASE, $lang->getDefault(), false, false)
|| $lang->load('tpl_' . $template, $directory . '/' . $template, $lang->getDefault(), false, false);
// Assign the variables
$this->template = $template;
$this->baseurl = JUri::base(true);
$this->params = isset($params['params']) ? $params['params'] : new JRegistry;
// Load
$this->_template = $this->_loadTemplate($directory . '/' . $template, $file);
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

JDocumentHTML::_loadTemplate (   $directory,
  $filename 
)
protected

Load a template file

Paramètres:
string$directoryThe name of the template
string$filenameThe actual filename
Renvoie:
string The contents of the template
Depuis:
11.1

Définition à la ligne 556 du fichier html.php.

Références JUri\base().

{
// @todo remove code: $component = JApplicationHelper::getComponentName();
$contents = '';
// Check to see if we have a valid template file
if (file_exists($directory . '/' . $filename))
{
// Store the file path
$this->_file = $directory . '/' . $filename;
// Get the file content
ob_start();
require $directory . '/' . $filename;
$contents = ob_get_contents();
ob_end_clean();
}
// Try to find a favicon by checking the template and root folder
$path = $directory . '/';
$dirs = array($path, JPATH_BASE . '/');
foreach ($dirs as $dir)
{
$icon = $dir . 'favicon.ico';
if (file_exists($icon))
{
$path = str_replace(JPATH_BASE . '/', '', $dir);
$path = str_replace('\\', '/', $path);
$this->addFavicon(JUri::base(true) . '/' . $path . 'favicon.ico');
break;
}
}
return $contents;
}

+ Voici le graphe d'appel pour cette fonction :

JDocumentHTML::_parseTemplate ( )
protected

Parse a document template

Renvoie:
JDocumentHTML instance of $this to allow chaining
Depuis:
11.1

Définition à la ligne 642 du fichier html.php.

Références JUtility\parseAttributes().

{
$matches = array();
if (preg_match_all('#<jdoc:include\ type="([^"]+)"(.*)\/>#iU', $this->_template, $matches))
{
$template_tags_first = array();
$template_tags_last = array();
// Step through the jdocs in reverse order.
for ($i = count($matches[0]) - 1; $i >= 0; $i--)
{
$type = $matches[1][$i];
$attribs = empty($matches[2][$i]) ? array() : JUtility::parseAttributes($matches[2][$i]);
$name = isset($attribs['name']) ? $attribs['name'] : null;
// Separate buffers to be executed first and last
if ($type == 'module' || $type == 'modules')
{
$template_tags_first[$matches[0][$i]] = array('type' => $type, 'name' => $name, 'attribs' => $attribs);
}
else
{
$template_tags_last[$matches[0][$i]] = array('type' => $type, 'name' => $name, 'attribs' => $attribs);
}
}
// Reverse the last array so the jdocs are in forward order.
$template_tags_last = array_reverse($template_tags_last);
$this->_template_tags = $template_tags_first + $template_tags_last;
}
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

JDocumentHTML::_renderTemplate ( )
protected

Render pre-parsed template

Renvoie:
string rendered template
Depuis:
11.1

Définition à la ligne 684 du fichier html.php.

{
$replace = array();
$with = array();
foreach ($this->_template_tags as $jdoc => $args)
{
$replace[] = $jdoc;
$with[] = $this->getBuffer($args['type'], $args['name'], $args['attribs']);
}
return str_replace($replace, $with, $this->_template);
}
JDocumentHTML::addCustomTag (   $html)

Adds a custom HTML string to the head block

Paramètres:
string$htmlThe HTML to add to the head
Renvoie:
JDocumentHTML instance of $this to allow chaining
Depuis:
11.1

Définition à la ligne 317 du fichier html.php.

{
$this->_custom[] = trim($html);
return $this;
}
JDocumentHTML::addFavicon (   $href,
  $type = 'image/vnd.microsoft.icon',
  $relation = 'shortcut icon' 
)

Adds a shortcut icon (favicon)

This adds a link to the icon shown in the favorites list or on the left of the url in the address bar. Some browsers display it on the tab, as well.

Paramètres:
string$hrefThe link that is being related.
string$typeFile type
string$relationRelation of link
Renvoie:
JDocumentHTML instance of $this to allow chaining
Depuis:
11.1

Définition à la ligne 300 du fichier html.php.

{
$href = str_replace('\\', '/', $href);
$this->addHeadLink($href, $relation, 'rel', array('type' => $type));
return $this;
}
JDocumentHTML::addHeadLink (   $href,
  $relation,
  $relType = 'rel',
  $attribs = array() 
)

Adds <link> tags to the head of the document

$relType defaults to 'rel' as it is the most common relation type used. ('rev' refers to reverse relation, 'rel' indicates normal, forward relation.) Typical tag: <link href="index.php" rel="Start">

Paramètres:
string$hrefThe link that is being related.
string$relationRelation of link.
string$relTypeRelation type attribute. Either rel or rev (default: 'rel').
array$attribsAssociative array of remaining attributes.
Renvoie:
JDocumentHTML instance of $this to allow chaining
Depuis:
11.1

Définition à la ligne 276 du fichier html.php.

{
$this->_links[$href]['relation'] = $relation;
$this->_links[$href]['relType'] = $relType;
$this->_links[$href]['attribs'] = $attribs;
return $this;
}
JDocumentHTML::countMenuChildren ( )

Count the number of child menu items

Renvoie:
integer Number of child menu items
Depuis:
11.1

Définition à la ligne 517 du fichier html.php.

Références JFactory\getApplication(), et JFactory\getDbo().

{
static $children;
if (!isset($children))
{
$menu = $app->getMenu();
$active = $menu->getActive();
if ($active)
{
$query = $db->getQuery(true)
->select('COUNT(*)')
->from('#__menu')
->where('parent_id = ' . $active->id)
->where('published = 1');
$db->setQuery($query);
$children = $db->loadResult();
}
else
{
$children = 0;
}
}
return $children;
}

+ Voici le graphe d'appel pour cette fonction :

JDocumentHTML::countModules (   $condition)

Count the modules based on the given condition

Paramètres:
string$conditionThe condition to use
Renvoie:
integer Number of modules found
Depuis:
11.1

Définition à la ligne 492 du fichier html.php.

{
$operators = '(\+|\-|\*|\/|==|\!=|<>|<|>|<=|>=|and|or|xor)';
$words = preg_split('# ' . $operators . ' #', $condition, null, PREG_SPLIT_DELIM_CAPTURE);
for ($i = 0, $n = count($words); $i < $n; $i += 2)
{
// Odd parts (modules)
$name = strtolower($words[$i]);
$words[$i] = ((isset(parent::$_buffer['modules'][$name])) && (parent::$_buffer['modules'][$name] === false))
? 0
: count(JModuleHelper::getModules($name));
}
$str = 'return ' . implode(' ', $words) . ';';
return eval($str);
}
JDocumentHTML::getBuffer (   $type = null,
  $name = null,
  $attribs = array() 
)

Get the contents of a document include

Paramètres:
string$typeThe type of renderer
string$nameThe name of the element to render
array$attribsAssociative array of remaining attributes.
Renvoie:
The output of the renderer
Depuis:
11.1

Définition à la ligne 364 du fichier html.php.

Références JFactory\getCache(), JCache\getWorkarounds(), et JCache\setWorkarounds().

{
// If no type is specified, return the whole buffer
if ($type === null)
{
}
$title = (isset($attribs['title'])) ? $attribs['title'] : null;
if (isset(parent::$_buffer[$type][$name][$title]))
{
return parent::$_buffer[$type][$name][$title];
}
$renderer = $this->loadRenderer($type);
if ($this->_caching == true && $type == 'modules')
{
$cache = JFactory::getCache('com_modules', '');
$hash = md5(serialize(array($name, $attribs, null, $renderer)));
$cbuffer = $cache->get('cbuffer_' . $type);
if (isset($cbuffer[$hash]))
{
return JCache::getWorkarounds($cbuffer[$hash], array('mergehead' => 1));
}
else
{
$options = array();
$options['nopathway'] = 1;
$options['nomodules'] = 1;
$options['modulemode'] = 1;
$this->setBuffer($renderer->render($name, $attribs, null), $type, $name);
$data = parent::$_buffer[$type][$name][$title];
$tmpdata = JCache::setWorkarounds($data, $options);
$cbuffer[$hash] = $tmpdata;
$cache->store($cbuffer, 'cbuffer_' . $type);
}
}
else
{
$this->setBuffer($renderer->render($name, $attribs, null), $type, $name, $title);
}
return parent::$_buffer[$type][$name][$title];
}

+ Voici le graphe d'appel pour cette fonction :

JDocumentHTML::getHeadData ( )

Get the HTML document head data

Renvoie:
array The document head data in array form
Depuis:
11.1

Définition à la ligne 128 du fichier html.php.

Références JText\script().

{
$data = array();
$data['title'] = $this->title;
$data['description'] = $this->description;
$data['link'] = $this->link;
$data['metaTags'] = $this->_metaTags;
$data['links'] = $this->_links;
$data['styleSheets'] = $this->_styleSheets;
$data['style'] = $this->_style;
$data['scripts'] = $this->_scripts;
$data['script'] = $this->_script;
$data['custom'] = $this->_custom;
$data['scriptText'] = JText::script();
return $data;
}

+ Voici le graphe d'appel pour cette fonction :

JDocumentHTML::isHtml5 ( )

Returns whether the document is set up to be output as HTML5

Renvoie:
Boolean true when HTML5 is used
Depuis:
12.1

Définition à la ligne 331 du fichier html.php.

{
return $this->_html5;
}
JDocumentHTML::mergeHeadData (   $data)

Merge the HTML document head data

Paramètres:
array$dataThe document head data in array form
Renvoie:
JDocumentHTML instance of $this to allow chaining
Depuis:
11.1

Définition à la ligne 192 du fichier html.php.

{
if (empty($data) || !is_array($data))
{
return;
}
$this->title = (isset($data['title']) && !empty($data['title']) && !stristr($this->title, $data['title']))
? $this->title . $data['title']
: $this->title;
$this->description = (isset($data['description']) && !empty($data['description']) && !stristr($this->description, $data['description']))
? $this->description . $data['description']
: $this->description;
$this->link = (isset($data['link'])) ? $data['link'] : $this->link;
if (isset($data['metaTags']))
{
foreach ($data['metaTags'] as $type1 => $data1)
{
$booldog = $type1 == 'http-equiv' ? true : false;
foreach ($data1 as $name2 => $data2)
{
$this->setMetaData($name2, $data2, $booldog);
}
}
}
$this->_links = (isset($data['links']) && !empty($data['links']) && is_array($data['links']))
? array_unique(array_merge($this->_links, $data['links']))
: $this->_links;
$this->_styleSheets = (isset($data['styleSheets']) && !empty($data['styleSheets']) && is_array($data['styleSheets']))
? array_merge($this->_styleSheets, $data['styleSheets'])
if (isset($data['style']))
{
foreach ($data['style'] as $type => $stdata)
{
if (!isset($this->_style[strtolower($type)]) || !stristr($this->_style[strtolower($type)], $stdata))
{
$this->addStyleDeclaration($stdata, $type);
}
}
}
$this->_scripts = (isset($data['scripts']) && !empty($data['scripts']) && is_array($data['scripts']))
? array_merge($this->_scripts, $data['scripts'])
if (isset($data['script']))
{
foreach ($data['script'] as $type => $sdata)
{
if (!isset($this->_script[strtolower($type)]) || !stristr($this->_script[strtolower($type)], $sdata))
{
$this->addScriptDeclaration($sdata, $type);
}
}
}
$this->_custom = (isset($data['custom']) && !empty($data['custom']) && is_array($data['custom']))
? array_unique(array_merge($this->_custom, $data['custom']))
: $this->_custom;
return $this;
}
JDocumentHTML::parse (   $params = array())

Parses the template and populates the buffer

Paramètres:
array$paramsParameters for fetching the template
Renvoie:
JDocumentHTML instance of $this to allow chaining
Depuis:
11.1

Réimplémentée à partir de JDocument.

Définition à la ligne 450 du fichier html.php.

{
return $this->_fetchTemplate($params)->_parseTemplate();
}
JDocumentHTML::render (   $caching = false,
  $params = array() 
)

Outputs the template to the browser.

Paramètres:
boolean$cachingIf true, cache the output
array$paramsAssociative array of attributes
Renvoie:
The rendered data
Depuis:
11.1

Réimplémentée à partir de JDocument.

Définition à la ligne 465 du fichier html.php.

{
$this->_caching = $caching;
if (!empty($this->_template))
{
$data = $this->_renderTemplate();
}
else
{
$this->parse($params);
$data = $this->_renderTemplate();
}
return $data;
}
JDocumentHTML::setBuffer (   $content,
  $options = array() 
)

Set the contents a document includes

Paramètres:
string$contentThe content to be set in the buffer.
array$optionsArray of optional elements.
Renvoie:
JDocumentHTML instance of $this to allow chaining
Depuis:
11.1

Réimplémentée à partir de JDocument.

Définition à la ligne 424 du fichier html.php.

{
// The following code is just for backward compatibility.
if (func_num_args() > 1 && !is_array($options))
{
$args = func_get_args();
$options = array();
$options['type'] = $args[1];
$options['name'] = (isset($args[2])) ? $args[2] : null;
$options['title'] = (isset($args[3])) ? $args[3] : null;
}
parent::$_buffer[$options['type']][$options['name']][$options['title']] = $content;
return $this;
}
JDocumentHTML::setHeadData (   $data)

Set the HTML document head data

Paramètres:
array$dataThe document head data in array form
Renvoie:
JDocumentHTML instance of $this to allow chaining
Depuis:
11.1

Définition à la ligne 154 du fichier html.php.

Références JText\script().

{
if (empty($data) || !is_array($data))
{
return;
}
$this->title = (isset($data['title']) && !empty($data['title'])) ? $data['title'] : $this->title;
$this->description = (isset($data['description']) && !empty($data['description'])) ? $data['description'] : $this->description;
$this->link = (isset($data['link']) && !empty($data['link'])) ? $data['link'] : $this->link;
$this->_metaTags = (isset($data['metaTags']) && !empty($data['metaTags'])) ? $data['metaTags'] : $this->_metaTags;
$this->_links = (isset($data['links']) && !empty($data['links'])) ? $data['links'] : $this->_links;
$this->_styleSheets = (isset($data['styleSheets']) && !empty($data['styleSheets'])) ? $data['styleSheets'] : $this->_styleSheets;
$this->_style = (isset($data['style']) && !empty($data['style'])) ? $data['style'] : $this->_style;
$this->_scripts = (isset($data['scripts']) && !empty($data['scripts'])) ? $data['scripts'] : $this->_scripts;
$this->_script = (isset($data['script']) && !empty($data['script'])) ? $data['script'] : $this->_script;
$this->_custom = (isset($data['custom']) && !empty($data['custom'])) ? $data['custom'] : $this->_custom;
if (isset($data['scriptText']) && !empty($data['scriptText']))
{
foreach ($data['scriptText'] as $key => $string)
{
JText::script($key, $string);
}
}
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

JDocumentHTML::setHtml5 (   $state)

Sets whether the document should be output as HTML5

Paramètres:
bool$stateTrue when HTML5 should be output
Renvoie:
void
Depuis:
12.1

Définition à la ligne 345 du fichier html.php.

{
if (is_bool($state))
{
$this->_html5 = $state;
}
}

Documentation des données membres

JDocumentHTML::$_caching = null
protected

Définition à la ligne 93 du fichier html.php.

JDocumentHTML::$_custom = array()

Définition à la ligne 37 du fichier html.php.

JDocumentHTML::$_file = null

Définition à la ligne 69 du fichier html.php.

JDocumentHTML::$_html5 = null
private

Définition à la ligne 101 du fichier html.php.

JDocumentHTML::$_links = array()

Définition à la ligne 29 du fichier html.php.

JDocumentHTML::$_template = ''
protected

Définition à la ligne 77 du fichier html.php.

JDocumentHTML::$_template_tags = array()
protected

Définition à la ligne 85 du fichier html.php.

JDocumentHTML::$baseurl = null

Définition à la ligne 53 du fichier html.php.

JDocumentHTML::$params = null

Définition à la ligne 61 du fichier html.php.

JDocumentHTML::$template = null

Définition à la ligne 45 du fichier html.php.


La documentation de cette classe a été générée à partir du fichier suivant :