====== Index et lettres accentuées ======
La fonction **html_index()**, qui génère l'index d'un site, le construit avec les noms des sous-dossiers du dossier data/pages. Or ces noms ne comportent ni espace, ni lettres accentuées, ce qui peut être gênant pour des sites en langue française (par contre pour les noms des pages, DokuWiki peut utiliser le premier titre de niveau H1).
Le petit patch suivant permet d'obtenir un index où les dossiers sont désignés par un intitulé pouvant contenir espaces et lettres accentuées. Ce patch est basé sur la version 2006-03-09 de DokuWiki.
====== Modifications des scripts PHP ======
Il faut modifier les scripts search.php et html.php qui se trouvent dans le dossier inc.
===== Modification de la fonction search_index de search.php =====
Modifier ainsi, dans la fonction search_index, la construction du tableau $data (autour de la ligne 100) :
$data[]=array( 'id' => $id,
//=====================================
// gestion des intitulés
'intitule' => intitule($file,$id),
//=====================================
'type' => $type,
'level' => $lvl,
'open' => $return );
Ajouter ensuite (par exemple juste avant la fonction search_index) la fonction suivante :
//=====================================
// gestion des intitulés
function intitule($f,$i)
{
global $conf;
include($conf['datadir'].'/t_intitule.inc');
$intitule= $t_intitule[$f];
if ($intitule=="") $intitule=$i;
return $intitule;
}
//=========================
===========
===== Modification de la fonction html_list_index de html.php =====
Modifier ainsi, dans la fonction html_list_index, la ligne qui génère les intitulés de l'index :
//=====================================
// gestion des intitulés
//$base = ':'.$item['id'];
$base = ':'.$item['intitule'];
//=====================================
====== Tableau des intitulés ======
Il reste à créer, et à maintenir, un tableau associatif des intitulés de dossiers. Pour cela créer à la racine du dossier /data/pages un fichier nommé t_intitule.inc dans lequel est défini un tableau t_intitule :
'Bac à sable',
'/wiki' => 'La documentation',
'/dossier1/dossier12/dossier123' => 'Le dossier'
);
?>
Le tableau associe au chemin d'accès à un dossier l'intitulé que l'on veut voir apparaître dans l'index. Il n'est pas obligatoire d'affecter ainsi un intitulé à chaque dossier, si il n'y a pas d'association c'est le nom du dossier qui apparaîtra dans l'index.
===== Credits =====
--- //ML 2006-06-29//