95

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
  1. function head($type=false) {
  2.     static $head = array(
  3.         'javascripts' => array(
  4.             array('name' => 'jquery'),
  5.         ),
  6.         'stylesheets' => array(
  7.             array('name' => 'content', 'media' => 'screen'),
  8.         ),
  9.     );
  10.  
  11.     if (!$type) {
  12.         return $head;
  13.     }
  14.  
  15.     $args=func_get_args();
  16.     array_shift($args);
  17.  
  18.     switch ($type) {
  19.         case 'lang':
  20.             $head['lang'] = $args[0];
  21.             break;
  22.         case 'title':
  23.             $head['title'] = $args[0];
  24.             break;
  25.         case 'description':
  26.             $head['description'] = $args[0];
  27.             break;
  28.         case 'image':
  29.             $head['image'] = $args[0];
  30.             break;
  31.         case 'image_alt':
  32.             $head['image_alt'] = $args[0];
  33.             break;
  34.         case 'canonical':
  35.             $head['canonical'] = $args[0];
  36.             break;
  37.         case 'favicon':
  38.             $head['favicon'] = $args[0];
  39.             break;
  40.         case 'keywords':
  41.             $head['keywords'] = $args[0];
  42.             break;
  43.         case 'author':
  44.             $head['author'] = $args[0];
  45.             break;
  46.         case 'date':
  47.             $head['date'] = $args[0];
  48.             break;
  49.         case 'robots':
  50.             $head['robots'] = $args[0];
  51.             break;
  52.         case 'theme':
  53.             $head['theme'] = $args[0];
  54.             break;
  55.         case 'fontawesome':
  56.             $head['fontawesome'] = true;
  57.             break;
  58.         case 'font':
  59.             $fname=$args[0];
  60.             if (!isset($head['fonts'])) {
  61.                 $head['fonts'] = array($fname);
  62.             }
  63.             else {
  64.                 if (!in_array($fname, $head['fonts'])) {
  65.                     $head['fonts'][]=$fname;
  66.                 }
  67.             }
  68.             break;
  69.         case 'style':
  70.             $s=$args[0];
  71.             $media=isset($args[1]) ? $args[1] : 'all';
  72.             if (!isset($head['style'])) {
  73.                 $head['style'] = array($media => $s);
  74.             }
  75.             else if (!isset($head['style'][$media])) {
  76.                 $head['style'][$media] = $s;
  77.             }
  78.             else {
  79.                 $head['style'][$media] .= PHP_EOL . PHP_EOL . $s;
  80.             }
  81.             break;
  82.         case 'stylesheet':
  83.             $name=$args[0];
  84.             $media=isset($args[1]) ? $args[1] : 'all';
  85.             if (!isset($head['stylesheets'])) {
  86.                 $head['stylesheets'] = array(compact('name', 'media'));
  87.             }
  88.             else {
  89.                 foreach ($head['stylesheets'] as $css) {
  90.                     if ($css['name'] == $name) {
  91.                         break 2;
  92.                     }
  93.                 }
  94.                 $head['stylesheets'][]=compact('name', 'media');
  95.             }
  96.             break;
  97.         case 'script':
  98.             $s=$args[0];
  99.             if (!isset($head['script'])) {
  100.                 $head['script'] = $s;
  101.             }
  102.             else {
  103.                 $head['script'] .= PHP_EOL . PHP_EOL . $s;
  104.             }
  105.             break;
  106.         case 'javascript':
  107.             $name=$args[0];
  108.             $param=isset($args[1]) ? $args[1] : false;
  109.             if (!isset($head['javascripts'])) {
  110.                 $head['javascripts'] = array(param ? compact('name', 'param') : compact('name'));
  111.             }
  112.             else {
  113.                 foreach ($head['javascripts'] as $js) {
  114.                     if ($js['name'] == $name) {
  115.                         break 2;
  116.                     }
  117.                 }
  118.                 $head['javascripts'][]=$param ? compact('name', 'param') : compact('name');
  119.             }
  120.             break;
  121.         case 'hreflang':
  122.             if (!isset($head['hreflang'])) {
  123.                 $head['hreflang'] = array($args[0] => $args[1]);
  124.             }
  125.             else {
  126.                 $head['hreflang'][$args[0]] = $args[1];
  127.             }
  128.             break;
  129.         default:
  130.             return false;
  131.     }
  132.  
  133.     return true;
  134. }
VOIR AUSSI

engine

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].