Changer le menu

Comment travaille la fonction toc() ?

Depuis la version 2.3 on utilise toc($start,$end), ce qui signifie que par défaut toc() affiche les niveaux H1 à H3. Mais on peut simplement écrire toc(1) si on souhaite seulement le niveau 1 ou toc(2,3) pour avoir les niveaux 2-3.

Comment se débarrasser des icônes ou les modifier dans le menu ?

A partir de la version 2.3 on a la possibilité de changer les icônes utilisées par le sommaire (TOC) dans les définitions des feuilles de style (dans le fichier stylesheet.css). Exemples:

  • li.doc{line-height:1.4;padding-left:15px;background-image: url(menu/document.gif);background-repeat:no-repeat;}
  • li.docs{line-height:1.4;padding-left:15px;background-image: url(menu/documents.gif);background-repeat:no-repeat;}
  • li.sdoc{line-height:1.4;padding-left:15px;background-image: url(menu/sdocument.gif);background-repeat:no-repeat;}
  • li.sdocs{line-height:1.4;padding-left:15px;background-image: url(menu/sdocuments.gif);background-repeat:no-repeat;}

L'URL est relative au chemin des modèles, par exemple templates/mytemply/menu/document.gif.

Les image se trouvent normalement dans le sous-répertoire menu du répertoire du modèle, par exemple templates/default/menu.

Si le sous-répertoire menu est supprimé du répertoire du modèle, les images par défaut qui se trouvent dans cmsimple/image.php vont être utilisées pour le sommaire.

Si on souhaite utiliser les images de cmsimple/image.php, on peut supprimer le répertoire menu et changer la couleur des icônes dans la configuration.

Le code HTML pour les images est défini par la fonction tr dans cms.php et peut être édité ici. Par exemple si on ne veut plus d'image du tout.

Pour avoir les valeurs binaires de chaque image GIF placée dans le même répertoire que ce script, on peut utiliser le code PHP suivant. Ces valeurs binaires doivent alors être insérées dans la fonction image dans image.php.

 

$localdir='.';
if ( is_dir($localdir) ) {
$fd = @opendir($localdir);
while ( ($part = @readdir($fd)) == TRUE ) {
if (preg_match("/\.gif$/i", $part)) {
$file_handler = fopen($part, "r");
$contents = fread($file_handler, filesize($part));
fclose($file_handler);
echo 'if ($image==\''.$part.'\') return \''.bin2hex($contents).'\';';}}
if($fd == TRUE) { closedir($fd); }
} else { echo "Could not open dir"; }

 

Peut être également intéressant: http://php.holtsmark.no/base64img/