head
head
SYNOPSIS
head($type=false)
DESCRIPTION
head gère ou retourne les variables transmises à la vue head.phtml, qui génère la section <head> du document HTML retourné par une action utilisant la fonction layout.
Si $type vaut false, typiquement lors son appel par la fonction layout, head retourne le tableau des paramètres prédéfinis dans la fonction ou ajoutés ou mis à jour par des appels avec un argument $type.
Si $type n'est pas false, il doit être l'une des chaînes de caractères suivantes : lang, title, description, image, image_alt, canonical, favicon, keywords, author, date, robots, theme, fontawesome, font, style, stylesheet, script, javascript ou hreflang.
Selon la valeur de $type, head prend 0, 1 ou 2 arguments supplémentaires.
IMPORTANT : Dans iZendLess, mettez la variable globale $recompile_css à true dans config.inc pour compiler les fichiers Less du répertoire less en fichiers CSS dans le répertoire css/less. Vous ne devez le faire qu'une seule fois après avoir ajouté ou modifié un fichier dans le répertoire less.
EXEMPLE
head('fontawesome');
Ajoute la feuille de style Font Awesome all.css au document HTML.
head('title', translate('home:title', $lang));
Définit le titre de la page.
head('stylesheet', 'jquery-ui', 'screen');
Ajoute la feuille de style jquery-ui.css du répertoire css pour le média screen.
head('style', $css, 'screen');
Ajoute un élément <style> contenant le CSS $css pour le média screen.
CODE
- function head($type=false) {
- static $head = array(
- 'javascripts' => array(
- array('name' => 'jquery'),
- ),
- 'stylesheets' => array(
- array('name' => 'content', 'media' => 'screen'),
- ),
- );
- if (!$type) {
- return $head;
- }
- $args=func_get_args();
- array_shift($args);
- switch ($type) {
- case 'lang':
- $head['lang'] = $args[0];
- break;
- case 'title':
- $head['title'] = $args[0];
- break;
- case 'description':
- $head['description'] = $args[0];
- break;
- case 'image':
- $head['image'] = $args[0];
- break;
- case 'image_alt':
- $head['image_alt'] = $args[0];
- break;
- case 'canonical':
- $head['canonical'] = $args[0];
- break;
- case 'favicon':
- $head['favicon'] = $args[0];
- break;
- case 'keywords':
- $head['keywords'] = $args[0];
- break;
- case 'author':
- $head['author'] = $args[0];
- break;
- case 'date':
- $head['date'] = $args[0];
- break;
- case 'robots':
- $head['robots'] = $args[0];
- break;
- case 'theme':
- $head['theme'] = $args[0];
- break;
- case 'fontawesome':
- $head['fontawesome'] = true;
- break;
- case 'font':
- $fname=$args[0];
- if (!isset($head['fonts'])) {
- $head['fonts'] = array($fname);
- }
- else {
- if (!in_array($fname, $head['fonts'])) {
- $head['fonts'][]=$fname;
- }
- }
- break;
- case 'style':
- $s=$args[0];
- $media=isset($args[1]) ? $args[1] : 'all';
- if (!isset($head['style'])) {
- $head['style'] = array($media => $s);
- }
- else if (!isset($head['style'][$media])) {
- $head['style'][$media] = $s;
- }
- else {
- $head['style'][$media] .= PHP_EOL . PHP_EOL . $s;
- }
- break;
- case 'stylesheet':
- $name=$args[0];
- $media=isset($args[1]) ? $args[1] : 'all';
- if (!isset($head['stylesheets'])) {
- $head['stylesheets'] = array(compact('name', 'media'));
- }
- else {
- foreach ($head['stylesheets'] as $css) {
- if ($css['name'] == $name) {
- break 2;
- }
- }
- $head['stylesheets'][]=compact('name', 'media');
- }
- break;
- case 'script':
- $s=$args[0];
- if (!isset($head['script'])) {
- $head['script'] = $s;
- }
- else {
- $head['script'] .= PHP_EOL . PHP_EOL . $s;
- }
- break;
- case 'javascript':
- $name=$args[0];
- $param=isset($args[1]) ? $args[1] : false;
- if (!isset($head['javascripts'])) {
- $head['javascripts'] = array(param ? compact('name', 'param') : compact('name'));
- }
- else {
- foreach ($head['javascripts'] as $js) {
- if ($js['name'] == $name) {
- break 2;
- }
- }
- $head['javascripts'][]=$param ? compact('name', 'param') : compact('name');
- }
- break;
- case 'hreflang':
- if (!isset($head['hreflang'])) {
- $head['hreflang'] = array($args[0] => $args[1]);
- }
- else {
- $head['hreflang'][$args[0]] = $args[1];
- }
- break;
- default:
- return false;
- }
- return true;
- }
Commentaires