Nouvelle version du plugin :
Un petit ajout d'un préfixe devant l'identificateur utilisé pour la balise id des groupes. Ces préfixes peuvent être :
cat_pour les catégoriesusr_pour les utilisateurstag_pour les mots-clés
Pour le regroupement mensuel, il y avait déjà un préfixe month_.
Installation
- Installeur (71 Ko)
- Archive tar.gz (46 Ko)
Toute la documentation associée se trouve dans ce billet.
Je profite de cette nouvelle version pour modifier la façon dont vous pouvez réagir sur cette nouvelle version. Dorénavant, les commentaires (et les rétroliens), suggestions et rapports de bug ne seront possibles que sur ce billet tant qu'une nouvelle version ne sera pas publiée. Vous pouvez si vous le souhaitez réagir également sur le forum DotClear.

64 réactions
1 De Ludo - 14/09/2006, 21:33
Bonsoir,
Tout d'abord, merci pour ce plugin.
Petit probleme pour ma part, j'aurai aime savoir comment modifier les urls liees aux billets. Actuellement, par defaut, la fonction getPermURL() est appelée et renvoie une url du type date/index-titre. J'aimerai uniquement une url du type date (sinon, le site bug completement).
Personnellement, j'ai essaye de modifier cet appel dans le fichier fonctions.php du plugin mais j'ai un soucis avec le nombre de parametres. (je suis developpeur mais je ne connais pas PHP).
J'imagine aussi pouvoir creer une regex quelque part avant la creation de la balise href mais ou ?
Enfin, juste pour le plaisir, si je souhaite modifier le template d'affichage de la TOC, ou dois-je aller ?
Merci pour tes precieux conseils, Ludo
2 De Franck - 15/09/2006, 11:25
Ludo, effectivement tu as une gestion un peu particulère des URL des billets. Je vais regarder ça de plus près. En attendant, pour changer quoi que ce soit dans l'affichage, il faut aller jeter un oeil aux paramètres possibles de la fonction
displayToc(). Toute la doc est disponible dans ce fichier.3 De Franck - 15/09/2006, 11:38
Pour les URL, il va falloir faire quelque chose dans la fonction
_getTocList()du fichierfunctions.php. Plus précisemment entre les lignes 484 à 488. Le plus simple est peut-être de couper le résultat de$rs_post->getPermURL()à la longueur voulue. Je suppose qu'une regex bien conçue qui enlèverait tout ce qui suit le dernier slash (compris) suffirait.4 De Ludo - 15/09/2006, 20:17
Merci Franck, Je vais tenter de mettre en oeuvre tes conseils. Quel bonheur un tel SAV ! Bon courage pour la suite.
Ludo
5 De Ludo - 15/09/2006, 20:56
Et bien ca marche correctement avec la ligne de code suivante :
$buffer_titre = sprintf($url, $rs_post->f('post_titre'), ereg_replace('0-9{1,2}\-{1}(.+)$', '', $rs_post->getPermURL()));6 De Franck - 15/09/2006, 22:15
Penses à noter ta modif. si jamais une nouvelle version sortait un jour. Ca évitera de la perdre ;-)
Sinon, content que ça marche ! J'ai même été voir, je suis curieux :-)
7 De Ludo - 17/09/2006, 02:21
Bonsoir Franck, Je lis le sourire sur ton visage après ton passage sur mon blog. En effet, le contenu est une regex assez particulière. Merci encore pour ton pluggin. Bye, Ludo
8 De Lwuib-R - 22/09/2006, 19:54
Bonjour
J'ai installé ce plugin (cool soit-dit en passant)et lu aussi ce post, un peu copieux pour moi.
En fait y aurrait-il un endroit où l'on peu trouver des infos concernant la mise en page (via style.css) de la table des matières?
Je suis perdu un peu dans les 'toc xxxx array(xxxx , il y en à trop et je ne sais pas lesquels correspondent exactement à quel element.
Merci.
9 De Franck - 22/09/2006, 20:46
Je crois que le mieux est de définir exactement les options voulues via la page d'administration du plugin et ensuite d'aller jeter un œil au code généré pour la table des matières.
C'est de cette manière que j'extrait plus facilement les éléments nécessaires (classe et/ou id) pour appliquer les styles.
Il est vrai que la fonction
displayToc()permet de faire à peu près ce qu'on veut — de la simple liste à, pourquoi pas, une table pleine de<tr>et de<td>. Ceci dit, tous les paramètres ne sont pas obligatoire, il suffit de préciser ceux qu'on veut modifier. Si nécessaire, je (re-)donnerai ici quelques exemples.10 De R'ik - 23/09/2006, 02:51
Bonjour, Tout d'abord merci pour ce plugin très pratique.
Il y a une chose que je voudrais faire c'est "styler" la Toc pour ce qui concerne la galerie. Mais ne trouvant pas les IDs ou classes je les ai rajoutées dans "functions.php" en fonction des besoins.
Je me suis basé sur le code suivant :
J'ai rajouté 2 class en gras :
- la première (toc-gallery-list) pour éviter les puces de la liste :
==> là pas de problème cela fonctionne
- la seconde pour réduire la taille de mes vignettes de galeries que je trouve trop grandes et là avec la class ajoutée (toc-gallery-item) :
==> cela ne marche pas.
Aurais-je fais une erreur ?
j'ai essayé également "gallery-item" seul mais sans changement.
11 De Franck - 23/09/2006, 10:00
Normalement il suffit de styler la balise
<img>avec un style du type :.toc-gallery-item img { ... les styles qui vont bien ... }À vérifier tout de même, je ne suis pas un cador des CSS ;-)
12 De R'ik - 23/09/2006, 14:32
OUUUPS désolé une partie du commentaire a sauté Je reposte c'est le bon !!!!
Merçi !
Oui c'est ça il suffisait de rajouter le <img>
Donc voilà ce que j'ai fait :
.toc-gallery-list{ list-style-type: none; }
.toc-group img { margin: 0 10px 5px 0; }
.toc-gallery-item img { margin: 0 10px 10px -10px; vertical-align: middle; }
Bon mais là où cela se corse c'est que si je veux réduire la taille de mes vignettes de galeries, j'applique donc un "width" et un "height" du coup les icones des commentaires deviennent énormes !!! Logique puisque elles aussi utilisent le <img>
J'ai aussi un petit problème d'alignement entre le "item info" (texte qui donne le nombre d'images) et le "item info img" (icone des commentaires)
Pour corriger tout ça j'ai vu que dans le code j'avais encore 2 éléments à styler :
toc_gallery_item_info et toc_gallery_item_info_img
Mais je ne vois pas comment dans ce cas je peux ajouter une "class" (il n'y a plus de "ul" ni de "li")
Voilà le code
if (!isset($arry_format'toc_gallery_item_info')) $arry_format'toc_gallery_item_info' = array('', ' (%1$s)', ' %2$s', ' (%1$s) %2$s');if (!isset($arry_format'toc_gallery_item_info_img')) $arry_format'toc_gallery_item_info_img' = array('', '1 image', '%s images');
Même si tu n'es pas "cador" en CSS, aurais tu une idée de l'endroit (dans le code ci-dessus)où je peux ajouter une class pour toc_gallery_item_info et toc_gallery_item_info_img
Merci d'avance !
Dans un autre ordre d'idée est-il possible d'afficher la Table des Matières sans la sidebar ?
Je voudrais en fait ne plus avoir de "retours à la ligne" lorsqu'on affiche toutes les options de la table.
13 De Franck - 23/09/2006, 15:43
Si il y a besoin d'une classe quelque part, il est toujours possible de faire ça en encadrant l'élement à styler par un
<span class="…">et un</span>. Ensuite il n'y a plus qu'à définir les styles nécessaires.Pour ne pas afficher la sidebar, il va falloir, dans le cas où le mode est
tocHome, utiliser un layout différent. Pour ça je te laisse le soin de voir ce qu'il faut faire vu que ça dépend pas mal du thème utilisé ;-)14 De Jean-Roch - 08/10/2006, 21:03
Bravo pour cet excellent plugin que je viens d'installer sur mon blog... Impressionnant la facilité pour changer l'apparence et le contenu de cette table de matière. Et sympa pour suivre, en un coup d'oeil, l'évolution de son blog... Merci !!
15 De liliAn - 19/10/2006, 21:11
Bonjour, Merci pour la mise à jour du plugin. Je me pose une question : dois-je désintaller l'ancien plugin table des matières avant d'installer la dernière version ? Est-ce que ça vaut vraiment le coup de changer ?
16 De Franck - 19/10/2006, 21:17
Tout dépend de la version qui est actuellement installée ! Si aucune des corrections et des améliorations apportées n'est utile, alors pas besoin de mettre à jour.
Sinon, pour la mise à jour, il faut effectivement supprimer l'ancien et ré-installer le nouveau. Les fichiers de configurations ne seront pas supprimés pendant la suppression/installation.
17 De Maxim - 05/11/2006, 15:42
Bonjour, en fait j'ai un léger problème avec le mode "lettre initiales" d'affichage. Le blog est en utf-8 et Mysql 4.0.25 retourne des caractères plutôt étranges à la place des caractères spéciaux en initiales.
Le post qui me pose problème commence par le caractère Ô. D'après la requête que j'ai essayée sur phpmyadmin, mysql retourne un à en initiale. La table des matières affiche un � classé après les chiffres et avant le C.
J'avais déjà vu un blog qui avait le même problème de caractères spéciaux avec sa table des matières mais ne me souviens plus lequel.
En tous les cas, merci pour ce travail. J'ai voulu me plonger dans le code et tenter d'imaginer comment ce dernier fonctionnait mais il faut avouer que sa complexité est relativement élevée.
18 De Maxim - 05/11/2006, 16:02
Nota bene: après réflexion et vérification, c'est aussi ton cas, pour le post Éole est là... N'as-tu point de suggestion pour règler ce problème ?
19 De Franck - 05/11/2006, 21:03
Ben non ! Pas encore trouvé la solution miracle à mon petit problème. Dès que je trouve, je vous dis ! Promis !
20 De Maxim - 07/11/2006, 21:09
Bon bon d'accord d'accord eh bien dommage dommage cependant tant pis tant pis.
21 De Goshu - 12/11/2006, 15:22
Bien l'bonjour ! Tout d'abord, félicitation pour ce plug, très très pratique. Aucun problème d'install, tout va bien.
Juste une petite suggestion, est ce qu'il serait possible aux visiteurs de choisir la manière dont est rangé la toc ?? Par catégorie, ou date, etc etc... Enfin, voilà voilà. Bonne continuation!!
22 De Franck - 12/11/2006, 19:16
Goshu, c'est une idée intéressante. Il va falloir que j'y réfléchisse un peu. Merci.
23 De mOã - 20/12/2006, 13:04
bijOur! j'suis pas nul en infOrmatique mais je suis pas nOn plus une experte dOnc j'aimerais savOir cOmment un caractère de ma table de caractère pourrais arriver sur le net ou msn sans qu'il sOit mOdifié?....et si pOssible que les expliquatiOn sOit simple :$
exemple : dans ma table de caractère il y a un motif en fOrme de panneau de circulatiOn et j'aimerais le mettre sur mOn skyblOg... le seul incOnvénient c'est lOrsque je fais cOpier cOller il me le transfOrme en la lettre "e" accent circOnflexe.
cOmment faire ?!
merci de répOndre vite a ma questiOn...
24 De Franck - 20/12/2006, 15:40
On peut pas. C'est assez rapide et simple comme réponse ?
25 De Jean-Michel - 06/01/2007, 19:42
Bonjour Franck,
Je suis actuellement en train de tester en local Dotclear pour avoir mon propre thème.
Je mets donc en place les plugins que j'utiliserai en ligne dont Tables des matières.
Si je mets mon thème en ligne où les plugins sont installés, aucun soucis.
En local (utilisant EasyPhp), l'interface d'installation des plugins me renvoient tous mes pleins de lignes d'erreurs. Est-ce normal ?
merci de ta réponse.
26 De Franck - 08/01/2007, 06:24
Normalement non, il faudrait un peu plus de détail sur ces erreurs pour pouvoir en dire plus et éventuellement les éradiquer.
27 De Jean-Michel - 09/01/2007, 10:45
J'obtenais les erreurs suivantes :
@@Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\EasyPHP 2.0b1\www\dotclear\inc\libs\lib.files.php on line 173
Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\EasyPHP 2.0b1\www\dotclear\inc\session.php on line 87
Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\EasyPHP 2.0b1\www\dotclear\inc\session.php on line 69@@
J'ai simplement installé manuellement et ça marche ;-)
28 De Franck - 09/01/2007, 11:32
Il faudrait peut-être augmenter la durée max d'execution d'un script PHP (je ne sais plus trop si c'est au niveau de la config d'Apache ou de PHP qu'il faut le faire).
29 De Vince - 22/01/2007, 15:17
Bonjour, j'aimerais savoir si et où il est possible de changer le titre "Table des Matières" qu'on a possibilité d'afficher en tête de la page 'toc'. Merci d'avance et bravo pour ce pluggin super utile
30 De Franck - 22/01/2007, 16:59
Bien sûr, tout est personnalisable à l'envi. Pour changer le titre il suffit dans l'appel de la fonction d'affichage de préciser le paramètre comme suit, en remplaçant le Table of contents par le titre voulu :
Ne pas oublier non plus d'activer l'affichage du titre dans le fichier de configuration.
31 De Vincent - 24/01/2007, 16:41
ce code ne fonctionne pas chez moi : le titre modifié s'affiche bien mais la liste des billets n'apparait plus...
32 De Vincent - 24/01/2007, 16:48
Désolé pour le dérangement, j'ai trouvé seul. Dans le paramètre il faut mettre 'toc_title' et non pas 'toc'.
Tout est en fait très bien expliqué là
33 De Franck - 24/01/2007, 17:27
'scuze pour la typo ! Bien vu pour le lien ;-)
34 De Amaury - 02/02/2007, 14:15
Bonjour !
Merci pour ce merveilleux plugin, fort utile ! J'ai juste un problème. Je ne parviens pas à le "faire rentrer" dans mes div ...
J'ai un "menu" et un "main" flottant. Tous deux contenus dans un "center". La toc se centre au milieu de center mais ne rentre pas dans mon main. Je ne trouve pas l'endroit à changer dans le code ..
D'avance merci !
35 De Franck - 02/02/2007, 20:29
J'ai un peu de mal à suivre, une URL pour constater le soucis ?
36 De erakor - 03/02/2007, 00:03
http://www.28prod.be/dotclear/index.php?toc/toc
37 De Bakula - 04/02/2007, 20:24
Salut a tous,
et deja un tres grand bravo pour tous ces petit truc qui nous facilite la vie !
Voila mon souci, je voudrais que la table des matieres devienne la page d'accueil de mon blog !
Malgre une inscursion sur les fichier du temlate et tutiquanti je trouve pas, alors si quelqu'un peut m'aider se serait genial !
38 De Franck - 04/02/2007, 20:42
erakor, il serait peut-être utile d'encadrer la table des matières par un
<div class="post-content">…</div>.Bakula, il faudrait aller voir du côté du mode home en étudiant par exemple ceci.
39 De Bakula - 04/02/2007, 21:56
Merci Franck,
A été voir ton lien, mais je doit etre une vrai bille, j'arrive pas trouver la bonne "ortographe" du lien vers la table des matieres !!!
Si tu peux m'y aider ce serait super !!!
40 De kazoo - 05/02/2007, 23:03
bonjour, Génial ton plugin mais est-ce que c'est possible d'avoir en quelques sortes deux categories : un classement par categories et un deuxième lien vers un classment par ordre alphabetique ?
merci d'avance
41 De Franck - 06/02/2007, 00:34
Bien sûr que c'est possible. D'ailleurs j'en ai bien trois sur le mien (mensuel, catégorique, alphabétique).
Il suffit de préparer un fichier de configuration avec le classement par catégorie puis de le dupliquer sous un autre nom. Il suffira de modifier le paramétrage du deuxième fichier en fonction des besoins. Ensuite il suffit d'insérer le code spécifié en bas de la page, il s'adapte au nom du fichier de configuration sélectionné.
42 De kazoo - 06/02/2007, 20:46
Merci bcp génial !!!! et bravo pour ce plugin encore si utile !! Une suggestion de nouveau plugin ? un super moteur de recherche serait génial !
A plus et encore merci
43 De Kazoo - 06/02/2007, 22:22
Euh comment on prépare un fichier de configuration ?? (je suis débutant !!)
44 De Franck - 06/02/2007, 23:00
Sur la page d'administration du plugin, il suffit de sélectionner un fichier dans la liste, de cliquer sur le bouton Sélectionner, puis, lorsqu'il est chargé, de donner un nom pour le nouveau fichier et cliquer sur le bouton Dupliquer.
Le nouveau fichier devient alors actif et peut être modifié à volonté.
45 De kazoo - 07/02/2007, 11:51
génial merci :-)
46 De k-ny - 17/03/2007, 14:00
Et hop, j'install ça sur mon blog, thanks ;)
47 De rsmrj - 30/03/2007, 14:10
bonjour, pas de probl d' installation mais lorque je clique sur le lien table des matieres... Fatal error: Call to a member function on a non-object in /var/www/data/woo/C/P/D/6/CPD6A43K/themes/themeperso/list.php on line 26 en fait je suis héberger par orange + Base MySql j' ai bien ajouter manuellement le code a template php, dans le thème perso utilisé. découverte de dotclear pour ma part.. une piste merci...
48 De rsmrj - 31/03/2007, 09:11
bonjour, trouvé erreur de code de ma part lors du transfert chez l'hébergeur.. super pluggins merci
49 De Yom - 07/04/2007, 19:44
Bonjour Franck,
J'utilise donc plugin depuis de nombreux mois, et je voudrais cependant modifier une toute petite chose.
Lorsque je demande a mon *.ini d'afficher les commentaires, cela me rajoute en fin de ligne (X commentaires). Jusque la rien d'anormal.
Cependant comment (et ou ??) pourrais-je modifier cette variable pour que s'affiche 'X réactions' à la place du mot 'commentaires'.
Merci d'avance, et bravo pour ce superbe plugin.
50 De Franck - 07/04/2007, 20:44
Bonjour Yom,
Pour personnaliser l'affichage on peut utiliser le deuxième paramètre de la fonction
displayToc(). Dans le cas qui te concerne il suffit (par exemple) d'utiliser ceci :<?php dcToc::displayToc(null, array('toc_post_item_com' => array('pas de réaction', '1 réaction', '%s réactions')); ?>Au passage, un
éà la place duédu mot réaction peut être utile pour rester compatible quelque soit l'encodage de la page.Tout le contenu de la table peut être ainsi personnalisé en fonction des besoins. La documentation complète des paramètres utilisables est disponible ici.
51 De alex - 10/04/2007, 22:46
vraiment génial ce plugin testé en local merci encore.je vais mettre sur mon site
52 De Yom - 11/04/2007, 21:31
Merci beaucoup Franck, ca marche niquel une fois que j'ai modifié cette ligne dans le fichier functions.php...
53 De Franck - 12/04/2007, 00:37
Yom je pensais plutôt à l'appel de la fonction dans le fichier
template.phpde ton thème. Mais si ça marche comme ça, pas de soucis, sauf en cas de mise à jour du plugin (il faudra reporter la modif après).54 De Cédric - 07/05/2007, 11:06
Bonjour Franck
Je rencontre un soucis depuis ce matin avec le plugin (enfin, en tout cas depuis seulement quelques jours !...) ; je l'utilise depuis plusieurs mois sans problèmes, je n'arrive pas à savoir d'où ça peut venir ?
J'ai essayé de virer les derniers billets pour voir si ça ne venait pas d'eux, sans succès. J'obtiens l'erreur suivante :
Fatal error: Call to a member function on a non-object in /home/users/c/cedricg/www/aube-nature-blog/layout/functions.php on line 620Dans l'attente, je vais virer le lien... D'ailleurs, me semble que les URL n'étaient pas celles que j'avais définies lors de la rédaction des articles : possible ?
Je m'explique : je crée un billet dont l'URL après la création est par ex. :
http://blog.aube-nature.com/?2007/04/26/126-taxe-disques-dursOr, quand je génère mon sitemap (avec un outil tiers), il me trouve deux URL dont la suivante :
http://blog.aube-nature.com/?2007/04/26/126--humeur-taxe-sur-les-disques-durs-et-les-cartes-memoires-la-honte-francaiseQue je n'ai jamais "saisie" ni même "essayée" lors de la rédaction de mon billet !!! J'ai recherché partout sur mon site d'où ça pouvait venir, sans l'avoir trouvé. Mais comme j'ai l'erreur pour accéder à la table des matières, je ne peux pas voir si ça vient de là ou pas :-(
Si tu as une idée... Bon je vire le lien vers la TOC en attendant ;-)
55 De Cédric - 07/05/2007, 11:18
Up
Zut, je pense que j'ai trouvé d'où ça vient, mais le hic c'est que seule la page de la TOC génère l'erreur !
Dans un but d'optimisation de mon référencement, je reprends avec le cache HTML (fonctions ob_start, etc...) le contenu des chapos, 25 premiers mots des billets, titres, etc... De manière à remplir de manière dynamique les balises dédiées (title, description...) de chaque page (et même la balise Keywords, qui permet d'éviter le duplicate content même si elle n'apporte rien au niveau SEO).
J'obtiens ou plutôt j'obtenais (puisque je viens de la corriger) une erreur sur la récup du chapo, uniquement sur la page TOC !
Du coup j'ai modifié mon code (test sur la variable 'mode') et ça remarche ;-)
Dérangé pour rien, désolé !
56 De Franck - 07/05/2007, 12:14
Bon ben si c'est retombé en marche, alors tout va bien !
57 De Franck - 07/05/2007, 12:28
Et au passage, je suis en train de passer du temps, beaucoup de temps chez toi, c'est très intéressant pour un photographe amateur comme moi !
58 De Falkra - 15/05/2007, 18:15
Merci pour ce plugin, beau boulot, on l'utilise depuis un bon moment.
59 De pierreL - 02/06/2007, 10:50
Bonjour,
C'est pour DC2 ? Je l'utilisais sur DC1.
merci
60 De Franck - 02/06/2007, 18:32
Non pas pour DC2, pour DC1 seulement. Pour DC2, certains ont déjà commencé à développer des choses alors j'attends de voir si c'est réellement opportun d'en faire un portage.
61 De pierreL - 02/06/2007, 19:38
OK, merci. Je trouve votre blog........... parfait.
62 De Franck - 02/06/2007, 20:20
Merci ça fait toujours plaisir à mon ego :-)
63 De Golden Boy - 01/07/2007, 22:30
Bonjour, j'ai le meme problème que Cédric suite à l'optimisation de mon site pour le référencement par contre je ne vois pas quoi modifier ?
64 De Franck - 02/07/2007, 08:08
Faudrait que Cédric nous l'indique !