Plugin Table des matières

Plugin Dernière version : v1.19 du 8 septembre 2006

Attention : ce plugin ne fonctionne qu'avec les versions 1.2 et suivantes de DotClear et pas avec les précédentes (1.2-rc et précédentes) ! Il est également compatible avec toutes les versions dites nightlies sorties à ce jour.

Installation

Pour les commentaires, etc., c'est sur ce billet.

Utilisation

Dans le fichier template.php (celui de votre thème s'il existe ou celui du thème default) chercher cette partie :

<div class="error"><strong>Erreur : </strong>
<?php echo $err_msg; ?></div>

Juste après rajouter celà :

<?php elseif ($mode == 'tocHome') : ?>
<?php dcToc::displayToc(); ?>

Et pour insérer un lien vers la table des matières (par exemple dans la sidebar de votre thème), toujours dans le fichier template.php, rajouter :

<div id="toclink">
<h2><a href="<?php dcToc::homeURL(); ?>">Titre</a></h2>
</div>

Tous vos commentaires, toutes vos suggestions et vos idées sont bien sûr les bienvenus ici ou sur le forum DotClear.

PS: Ce billet reprend l'essentiel de l'ancien billet qui commençait à être relativement long à charger.


Détail des fonctions

homeURL()

Syntaxe : dcToc::homeURL([ini_file]) avec ini_file = URL d'un fichier de configuration (sans extension .ini).

Fonction : Affiche un lien permettant de demander l'affichage de la table des matières.

l'URL du fichier de configuration doit être fournie sans l'extension .ini finale. Par exemple, si j'ai un fichier de configuration mois.ini dans le répertoire share/toc/, je mettrais le code suivant :

<?php dcToc::homeURL('mois'); ?>

displayToc()

Syntaxe : dcToc::displayToc([ini_file] [, formats] [, display]) avec ini_file = URL d'un fichier de configuration et formats étant un tableau des formats à utiliser et enfin display spécifiant s'il faut afficher le résultat ou simplement le renvoyer sous forme de chaine de caractères (true par défaut).

Fonction : Affiche la table des matières.

La fonction dcToc::displayToc() admet un premier paramètre (optionnel) qui permet de préciser le fichier de configuration à utiliser à la place du fichier standard (toc.ini), fichier qui peut se trouver n'importe où.

Le deuxième paramètre optionnel de la fonction DisplayToc permet de spécifier des formats d'affichage à utiliser en lieu et place des formats par défauts utilisés normalement par le plugin. Le détail de ce paramètre est détaillé sur cette page.

Le troisième paramètre optionnel permet de spécifier si l'on souhaite l'affichage de la table des matières (option par défaut) ou si l'on veut uniquement récupérer cette table dans une chaine de caractères pour traitement ultérieur. Exemple, dans l'appel suivant, je récupère la table des matières par défaut (toc.ini) dans une chaine de caractères :

<?php $strToc = dcToc::DisplayToc(null, null, false); ?>

F.A.Q.

Comment avoir deux accès à la table des matières, un par catégorie, l'autre par mois ?

Effectuez les étapes suivantes :

1. Dupliquer le fichier toc.ini sous un nouveau nom, par exemple cat.ini. Ce fichier devient le fichier de configuration actif.

2. Paramétrer le plugin pour le regroupement par catégorie.

3. Dupliquer ce fichier sous un autre nom, par exemple mois.ini. Ce fichier devient le fichier de configuration actif.

4. Paramétrer pour le regroupement mensuel. Enregistrer.

5. Dans le fichier template.php rajouter les liens comme ceux-ci :

<a href="<?php dcToc::HomeURL('cat'); ?>"
title="Table des matières par catégorie" >
par catégorie</a>

<a href="<?php dcToc::HomeURL('mois'); ?>"
title="Table des matières par mois" >
par mois</a>

6. Déguster !


Codes sources

Evolutions envisagées

v1.20 et suivantes

  • Sélection multiple de catégories et/ou d'auteurs à inclure. Sera possible dès la prochaine version de DotClear.

Changements

v1.19 (8 septembre 2006 - voir l'annonce)

  • Rajout d'un préfixe devant les identificateurs utilisés dans les balises id des groupes

v1.18 (25 juin 2006 - voir l'annonce)

  • Classe supplémentaire, personnalisée et personnalisable pour les groupes
  • Optimisation mineures de l'utilisation mémoire

v1.17.1 (20 mai 2006 - voir l'annonce)

  • Correction de l'affichage des miniatures des galeries si l'affichage du nombre d'images ou de l'état d'ouverture des commentaires n'est pas demandé

v1.17 (17 mai 2006 - voir l'annonce)

  • Ajout de l'affichage optionnel de la miniature des galeries

v1.16.1 (2 mai 2006 - voir l'annonce)

  • Optimisation de l'utilisation de la mémoire (1ère étape).

v1.16 (24 avril 2006 - voir l'annonce)

  • Rajout de l'affichage optionnel de la description des catégories.

v1.15.2 (25 mars 2006 voir l'annonce)

  • Rajout d'un id pour le menu
  • Clarification des informations de modification du template
  • Correction pour ne lister que les billets publiés

v1.15.1 (7 novembre 2005)

  • Correction du cas ou aucun billet n'est listé.
  • Le fichier de configuration alternatif — 1er paramètre de la fonction displayToc() — est cherché dans share/toc si nécessaire.
  • Le fichier de configuration alternatif est prioritaire sur celui positionné dans le postcon.php ce qui permet d'avoir plusieurs tables des matières sur la même page.

v1.15 (3 novembre 2005 - voir l'annonce)

  • Mise en place des paramètres de définition des formats d'affichage
  • Ajout du regroupement par mots-clés (plugin twTags)
  • Correction utilisation classe iniFile -> toc_iniFile dans la page d'administration (sauvegarde)
  • Ajout d'une option de prise en compte du plugin multicat
  • Changement de l'URL d'appel, [?]toc[/ini_file] à la place de [?]toc/home[/ini_file]
  • Suppression de la gestion des libellés côté frontend (les fichiers toc.lang sont supprimés)
  • Suppression du paramètre fournissant les libellés alternatifs dans la fonction displayToc()
  • Ajout du numéro de version sur la page d'administration

v1.14.2 (19 septembre 2005)

  • Correction d'un bug qui empêchait l'utilisation simultanée de plusieurs fichiers de configuration. Bug trouvé par Vero et décrit dans ce commentaire

v1.14.1 (15 septembre 2005)

  • Intégration de la classe gérant les fichiers de configuration pour rester compatible avec les nightlies sorties à ce jour.
  • Correction de l'affichage de l'URL des catégories lorsque le plugin multicat est présent. Bug trouvé par Pierre VG et décrit dans ce commentaire.

v1.14 (22 juillet 2005 - voir l'annonce)

  • Ajout d'une option permettant l'affichage d'un menu utilisant les ancres mises en place à partir de la version 1.13
  • Changement de définition des ancres : passage de <a name="..."></a> à ...id="..."...
  • Contrôle et définition si nécessaire à une valeur par défaut des constantes provenant de la lecture du fichier de configuration (permet d'éviter l'affichage de messages d'erreur lorsqu'une option n'est pas présente dans le fichier)

v1.13 (21 juillet 2005 - voir l'annonce)

  • Ajout d'une ancre devant chaque groupe (catégorie, auteur ou mois), ainsi qu'au début de la liste des pages connexes et de la liste des galeries.
  • Correction du contrôle pour la/les positions de la ligne totale. (bug signalé par Ju dans ce commentaire).

v1.12 (17 juin 2005 - voir l'annonce)

  • Les options dépendantes de certains plugins comme Pages connexes, Galerie, et autres, ne sont maintenant affichées que si les plugins correspondants sont installés et actifs.
  • Ajout d'une classe toc-xxx aux différents titres (h2, h3, ...) utilisés pour la table des matières.
  • Ajout d'une option Oui (devant) pour l'affichage de la date devant le titre des billets.

v1.11 (16 juin 2005 - voir l'annonce)

  • Ajout d'une classe post-title aux titres (h2, h3, ...) utilisés pour la table des matières. (suggestion de xave).

v1.10 (16 juin 2005 - voir l'annonce)

  • Ajout d'une option ''Oui si il y en a" aux options d'affichage du nombre de commentaires, de trackbacks, .... (suggestion de xave).

v1.9.1 (26 mai 2005)

  • Mise au propre (et à la norme) de la documentation des sources
  • Vérification du caractère dépendant de certaines options. Exemple, la légende à propos de l'état d'ouverture des commentaire dépend de la présence de cet état pour les billets et pour les galeries. Si on n'active pas l'affichage des galeries mais que l'affichage de l'état des commentaires pour celles-ci est à oui, cet état est décrit dans la légende même si cet état n'est pas affiché pour les billets.

v1.9 (9 mai 2005 - voir l'annonce)

  • Ajout de l'aide en anglais (ISO-1 et UTF-8)
  • Correction de l'URL pour le mode rédacteur (merci Veuve Tarquine)
  • Correction du libellé de la gestion des URL rédacteurs

v1.8.2 (27 avril 2005)

  • Correction d'un bug avec l'utilisation conjointe du plugin multicat dans le cas où le regroupement choisi n'est pas par catégorie
  • Ajout de l'aide au format UTF-8

v1.8.1 (26 avril 2005)

  • Correction d'un bug avec l'utilisation conjointe du plugin multicat. Bug identifié et corrigé par Teddy Ber en personne, m'ci m'sieur !

v1.8 (26 avril 2005 - voir l'annonce)

  • Prise en compte du plugin Mode Rédacteurs de Cymago et abandon du plugin ThemeTools du même auteur (en fait c'est juste une modification esthétique puisque celà ne change rien dans le code de ce plugin, uniquement un libellé).
  • Prise en compte de la nouvelle version v0.5a du plugin multicat de Teddy Ber, et correction de deux bugs présents dans la version précédente lorsque ce plugin était utilisé conjointement avec le plugin multicat.
  • Ajout d'un lien vers la licence applicable au plugin (ajouté le 12 avril 2005)

v1.7 (21 avril 2005 - voir l'annonce)

  • Mise en place des liens vers les billets des rédacteurs lorsque le plugin Rédacteurs de Creatika ou le plugin ThemeTools de Cymago est utilisé.

v1.6.1 (20 avril 2005 - voir l'annonce)

  • Correction du nom des images utilisées par le plugin en mode path_info
  • Ajout du contrôle de l'existence de l'image avant affichage

v1.6 (19 avril 2005 - voir l'annonce)

  • Ajout de la liste des pages connexes (via le traitement du fichier de configuration du plugin Pages connexes).
  • Ajout des images associées aux catégories ou aux rédacteurs (via le plugin Gestionnaire d'image par catégorie d'Aurélien Antoine). (ajouté le 7 avril 2005)

v1.5.1 (4 avril 2005)

  • Correction de l'affichage de la liste des billets. Le premier billet se retrouvait en dernier chez certains.

v1.5 (4 avril 2005 - voir l'annonce)

  • Renforcement de la stabilité du code (entre autre en cas de retours incohérents comme une liste d'utilisateur vide ou une requête SQL non aboutie).
  • Ajout de l'age maximum des billets listés dans le cas où une limitation a été demandée. (ajouté le 29 mars 2005).
  • Ajout d'un identificateur de classe sur les titres des groupes (catégories, mois, ...) (ajouté le 1er avril 2005).

v1.4 (21 mars 2005 - voir l'annonce)

  • Protection des chaines de caractères utilisées dans les requêtes SQL (usage de la fonction escapeStr() indiquée par JLauriol dans son dernier commentaire).
  • Déplacement du fichier de configuration dans un sous-répertoire toc du répertoire share.
  • Gestion intégrée (copie, modification) de tous les fichiers de configuration présents dans le répertoire share/toc.

V1.3 (14 mars 2005 - voir l'annonce)

  • Ajout de l'affichage du nombre de lecture des billets si le plugin Nombre de lecture est installé.
  • Ajout de la possibilité de limiter la table des matières à une seule catégorie. (ajouté le 4 mars 2005 sur proposition de David, voir les commentaires ci-dessous).
  • Ajout d'un paramètre à la fonction DisplayToc() sous la forme d'un tableau contenant la liste des libellés à utiliser en priorité par rapport aux fichiers toc.lang du thème ou du plugin. (ajouté le 10 mars 2005).
  • Changement du préfixe plugin_ utilisé dans les fichiers .ini du plugin au profit de toc_ pour éviter des conflits avec d'autres fichiers de configuration. (ajouté le 11 mars 2005).

V1.2 (2 mars 2005 - voir l'annonce)

  • Limitation optionnelle de la liste des billets et des galeries à un auteur. (modifié le 02/03/2005, les galeries n'étant pas affectées à un auteur).
  • Suppression de l'insertion du lien permettant d'avoir la liste des billets d'un auteur (fonctionnalité non prévue dans la version 1.2 de DotClear).
  • Contrôle plus poussé de l'URL d'appel pour éviter les conflits avec le plugin Related. En effet une page connexe dont le nom commence par toc est interceptée par le plugin Table des matières ! (Bug découvert par Kozlika dans ce billet). (Ajouté le 01/03/2005)

V1.1 (16 février 2005 - voir l'annonce)

  • Indication de l'état de sélection des billets.
  • Correction de l'URL fournie pour les rédacteurs dans le cas du mode path-info.

V1.0 (7 février 2005 - voir l'annonce)

  • Gestion séparée des libellés utilisés côté administration et côté utilisateur.
  • Ajout de l'affichage du nombre d'images des galeries (ajouté le 5 février 2005 suite à la sortie de la nouvelle version du plugin Gallery v0.8 de Nikikko).

v0.9 (3 février 2005 - voir l'annonce)

  • Ajout de l'affichage de l'état d'ouverture/fermeture des commentaires et/ou trackbacks (icône ou texte) des billets
  • Ajout de l'affichage de l'état d'ouverture/fermeture des commentaires (icône ou texte) des galeries
  • Ajout de l'affichage d'une légende des états d'ouverture et de fermeture en fin de page
  • Les icônes sont fournies et installables depuis la page d'administration

v0.8 (2 février 2005 - voir l'annonce)

  • Ajout de l'affichage de la liste des galeries du plugin Gallery.
  • Ajout du traitement du fichier de configuration fourni via la fonction dcToc::HomeURL()

v0.7 (30 janvier 2005 - voir l'annonce)

  • Ajout d'un regroupement par lettre (premiere lettre du titre des billets).
  • Ajout d'un tri alphabetique (normal ou inverse)

v0.6 (28 janvier 2005 - voir l'annonce)

  • Moteur et carrosserie ré-écrit.
  • Ajout du regroupement par catégorie, auteur, mois, ou non.
  • Chronologie normale ou inverse.
  • Age maximum des billets listés.
  • Nombre de commentaires et/ou de trackbacks.
  • Affichage de la catégorie des billets.
  • Options diverses.
  • Suppression du passage d'arguments à la fonction d'affichage au profit de l'URL (optionnel) d'un fichier de configuration.

v0.5 (15 janvier 2005 - voir l'annonce)

  • Rajout du marqueur hreflang dans les liens des billets.

v0.4 (13 janvier 2005 - voir l'annonce)

  • Rajout de saut de ligne dans le code généré de la table des matières pour une meilleure lisibilité.
  • Rajout de l'option "Affichage de la date au format court".
  • Remplacement du traitement de l'URL fournie. D'après le code fourni par xave dans ce post sur le forum DotClear.
  • Rajout de l'option "Affichage de l'auteur du billet".

v0.3 (11 janvier 2005 - voir l'annonce)

  • Rajout du fichier de langue codé en UTF-8.
  • Rajout d'un espace devant le nombre total de billets.
  • Paramétrage de l'identificateur utilisé pour le div encapsulant la table des matières.
  • Exclusion optionnelle d'une catégorie de la table des matières.

v0.2 (11 janvier 2005 - voir l'annonce)

  • Rajout du code de [RV] pour pouvoir utiliser les fonctions intégrées de traduction et par conséquent mise en place de tous les textes dans le fichier langue.
  • Rajout de l'option "Affichage du nombre de catégories".
  • Rajout de l'option "Affichage du titre en début de page".
  • Correction de la prise en compte du paramètrage de l'affichage du nombre total de billets. Etait auparavant enregistré avec la valeur du nombre maximum de billets.

v0.1 (10 janvier 2005 - voir l'annonce)

  • Version initiale.

Haut de page