We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 27889
    • 415 Posts
    Oui ce fonctionnement est normal, si tu veux tous les titres remplace la ligne 121:
    $search= array ('/(<h'.$heading_level.'[^>]*)>(.+?)(<\/h'.$heading_level.'>)/sim');
    


    par
    $search= array ('/(<h[1-5][^>]*)>(.+?)(<\/h[1-5]>)/sim');
    


    pour avoir les titre de niveau 1 à 5
      MODx Sites & Prestations: http://dp-site.fr [Last MODx Site]
      MODx Repository: [HOME] [MetaTagsExtra] / Current Dev: [xFDM]
      • 2327
      • 214 Posts
      Merci beaucoup Soda pour cette réponse si rapide shocked

      Ca marche du tonerre.

      En fait je me suis permis de tester, à la lumière de ton code (j’y connais rien.... shocked), le paramètrage suivant pour ne pas toucher à ton code lui-même :

      $heading_level =’[2-5]’;

      Et c’est parfait. Peut-être on pourrait l’inclure dans ta doc. Cela me semble utile pour la construction d’un sommaire....Mais j’ai encore une dernière question bête. Le résultat :

      <ul>
      <li>titre h2 1.</li><li>titre h3 1.1</li><li>titre h3 1.2</li><li>titre h2 2.</li>
      </ul>

      Bref, l’alignement au même niveau de tous les h trouvés ne me permet pas de les styliser différemment en fonction de leur balisage (h2, h3)....

      Est-ce normal ? Est-ce ma config qui merdouille ?

      J’e m’attendais à une sortie de type :

      <ul> <!--Début du sommaire-->

      <ul><!--Début du niveau 1.-->
      <li>titre h2 1</li>
      <ul><li>titre h3 1.1</li><li>titre h3 1.2</li></ul>
      </ul><!--Fin du niveau 1.-->

      <ul><!--Début du niveau 2.-->
      <li>titre h2 2</li>
      </ul><!--Fin du niveau 2.-->

      </ul><!--Fin du sommaire-->


      Bref, rien apparemment pour faire le distinguo des niveaux sortants aux fins d’une stylisation css (même avec des selecteurs descendants puisqu’on ne peut prévoir le nombre d’’occurence de chaque niveau.

      C’est moi qui doit pas savoir m’en servir correctement puisque il me semble que cette hierarchisation est incontournable pour un plan smiley.

      Quelque chose m’a échappé ? En tout cas ton effet de scrolling est vraiment du tonerre !

        • 2327
        • 214 Posts
        J’ai beau regarder le code (auquel je ne comprends évidemment pas grand chose... wink), je ne vois pas bien où insérer la génération des sous <ul>....</ul> dans la boucle foreach...

        Et malheureusement Soda, le Page Toc Generator que tu préconises un peu plus haut me pose des problèmes avec la version 9.6.1 de MODx.....Donc je suis dans la mouise....

        Quelqu’un l’a-t-il testé avec la rev 3118 de MODx ? (cf mon message sur ce post http://modxcms.com/forums/index.php/topic,11162.msg126427.html#msg126427)
          • 27889
          • 415 Posts
          astrolabe, effectivement le snippet n’est prévu que pour un niveau de titre, avec quelques connaissances en php il doit être modifiable pour gérer les niveaux à afficher.
          je n’ai pas de souci avec la 0.9.6
            MODx Sites & Prestations: http://dp-site.fr [Last MODx Site]
            MODx Repository: [HOME] [MetaTagsExtra] / Current Dev: [xFDM]
            • 2327
            • 214 Posts
            Merci Soda. Je comprends mieux.

            Pour la 9.6.1, je parlais de Page Toc Generator qui semble poser problème, non de ton plugin qui lui marche très bien sur cette version.

            As-tu testé Page Toc Generator sur une rev 3118 ? Chez moi, il n’interprête pas les Tag comments ...

            Concernant Autotoc, je ne vois pas où placer un bout de code pour différencier le niveau des <li> générées (soit par des classes, soit par une imbrication dans un <ul>..</ul> supplémentaire.

            Je ne connais rien à PHP embarrassed embarrassed embarrassed

            J’imagine que cela devrait se trouver par là :

            foreach ($tab_titres as $nom_titre_h2 =>$ancre_h2 )
            {
            $sommaire.= " <li><a href=\"".$_SERVER[’REQUEST_URI’]."#". $ancre_h2."\" onclick=\"new Effect.ScrollTo(’$ancre_h2’,{duration:1});return false;\">$nom_titre_h2</a></li>";
            }


            Mais comment affecter une classe particulière à chaque li en fonction de son niveau ou l’imbriquer dans un ul, puisqu’il semble que la boucle foreach traite indifféremment chaque niveau <hx> trouvé dès lors que x est contenu dans la variable $heading_level.

            Si quelqu’un a une idée, merci de votre aide. Je compte bp sur Autotoc, Page Toc Generator ne foncrtionnant pas semble-t-il sur ma rev 3118. smiley






              • 23050
              • 1,842 Posts
              Salut astrolabe,

              Une nouvelle version de Page TOC generator a été publiée : http://www.modxcms.com/Page-TOC-Generator-0.90-1722.html

              Peut-être y trouveras-tu ton bonheur wink
                • 2327
                • 214 Posts
                Merci Perrine.

                Malheureusement, je l’ai testée en effet sur ma 0.9.6.1 rev 3118 mais sans succès. Toujours le même problème du tag
                <!--#toc_plugin#_TOC_OUTPUT--> qui demeure interprété comme un TAG HTML de type comment au lieu de renvoyer le résultat....

                As-tu testée sur cette même version ?

                J’avoue ne pas comprendre. Je précise que la case OnWebPagePrerender est bien et seule cochée dans les évènements systèmes.

                J’ai même desactivé tous les autres plugins...Mais rien n’y fait.

                Quelqu’un pourrait-il me dire s’il rencontre un pb similaire avec une 0.9.6.1 rev 3118 ?

                Le code utilisé est simple. C’est celui donné par l’auteur :


                <!--#toc_plugin#_START_CONFIGURATION-->
                <!--#toc_plugin#_list_type=ul-->
                <!--#toc_plugin#_start_level=2-->
                <!--#toc_plugin#_end_level=3-->
                <!--#toc_plugin#_header=Page Contents-->
                <!--#toc_plugin#_header_tag=h2-->
                <!--#toc_plugin#_parent_tag=div-->
                <!--#toc_plugin#_parent_tag_id=toc-->
                <!--#toc_plugin#_END_CONFIGURATION-->

                <!--#toc_plugin#_TOC_OUTPUT-->

                <!--#toc_plugin#_START_TOC_INDEXING-->
                <h2>Here is a heading</h2>
                <p>Here is some text</p>
                <h2>Here is another heading</h2>
                <h3>Here is a subheading</h3>
                <h3>Here is another subheading</h3>
                <!--#toc_plugin#_END_TOC_INDEXING-->



                Malheureusement, le résulta t html donne :

                <div class="post">

                <h3 id="post-"></h3>

                <!--#toc_plugin#_START_CONFIGURATION-->
                <!--#toc_plugin#_list_type=ul-->
                <!--#toc_plugin#_start_level=2-->
                <!--#toc_plugin#_end_level=3-->
                <!--#toc_plugin#_header=Page Contents-->
                <!--#toc_plugin#_header_tag=h2-->
                <!--#toc_plugin#_parent_tag=div-->
                <!--#toc_plugin#_parent_tag_id=toc-->
                <!--#toc_plugin#_END_CONFIGURATION-->

                <!--#toc_plugin#_TOC_OUTPUT-->


                <!--#toc_plugin#_START_TOC_INDEXING-->

                <h2>Here is a heading</h2>
                <p>Here is some text</p>
                <h2 id="here-is-another-heading">Here is another heading</h2>
                <h3 id="here-is-a-subheading">Here is a subheading</h3>
                <h3 id="here-is-another-subheading">Here is another subheading</h3>

                <!--#toc_plugin#_END_TOC_INDEXING-->

                </div>


                Le tag <!--#toc_plugin#_TOC_OUTPUT-->

                n’est donc pas interprété....

                Une piste ? A l’aide huh . Merci smiley
                  • 23050
                  • 1,842 Posts
                  Non je ne l’ai pas utilisé... j’ai vu qu’il était publié et j’ai pensé à toi après avoir lu ce post wink

                  Essaie de voir avec l’auteur de la dernière version sur le post de support... je ne sais pas si c’est celui-ci ou un autre
                    • 2327
                    • 214 Posts
                    Merci Perrine smiley.

                    Je vais le relancer....En fait comme ma maquette est construite sur cette génération automatique de sommaire de page....je suis en effet ennuyé.

                    Et à part Autotoc (qui ne semble pas permettre une hérarchisation des H trouvés) et Page Toc Henerator, incompatible (sauf erreur de ma part ) avec la derniere version officielle de MODx, me voilà dans une grosse mouise.... huh

                    A moins que quelqu’un parmis vous connaisse une troisième solution pour balayer les h d’un [*content*] et sortir une table des matières..?

                    Je suis surpris que il n’y a pas plus de plugin ou snippet sur ce beau et pléthorique marché de MODx..pour faire cela..!
                      • 27889
                      • 415 Posts
                      Salut,

                      Tu pourrais essayer Wayfinder qui permet de générer un menu, peut-être qu’avec Ditto cela pourrait convenir aussi.
                        MODx Sites & Prestations: http://dp-site.fr [Last MODx Site]
                        MODx Repository: [HOME] [MetaTagsExtra] / Current Dev: [xFDM]