We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16732
    • 592 Posts
    OUPS !! J’ai fais une petite erreur en updatant le post... tout a disparu :’( embarrassed embarrassed

    Pour me racheter voici la v 1.1 avec la contrib de mrcou et l’ajout des liens vers les notes de pieds de page
    Encore désolé pour ma maladresse ... c’est l’enthousiasme grin

    /*
    *  Name: Footnote
     *  Version: 1.1
     *  Author: Laurentc ([email protected])
     *  Updated: June 29, 2006
     *
     *  Description:
     *  will make a footnote when a note is found in tag {-MyNote-}
     *  Link index note <=> footnote (friendly urls supported)
     *  Can access to the notes listing with documentObject['footnotes']  //Thank's to mrcou
     *
     * Configuration:
     *  check the OnLoadWebDocument event
     *
     *    TODO :
     *    add a chunk for listing notes render
     *
     */
    $e = &$modx->Event;
    switch ($e->name) {
            case "OnLoadWebDocument":
                    $o = &$modx->documentObject['content']; // Référence de la sortie
                    // récupération de tous les Npp {-NPP-}
                      if(preg_match_all( '~\{-(.*?)\-\}~' , $o, $tbl_npp)){
    
                           if($modx->config['friendly_urls'] == 1){$page = $modx->documentObject['alias'];}else {$page= 'index.php?id='.$modx->documentObject['id'];}
    
                           $tbl_npp1 = array_unique($tbl_npp[0]);
                            for($i=0;$i<count($tbl_npp1);$i++) {
                                 $numbNote = $i+1;
                                 $o = str_replace($tbl_npp1[$i],'<sup><a href="'. $page.'#nb'.$numbNote.'" name="nh'.$numbNote.'">'.($i+1).'</a></sup>',$o);
                            }
    
                          $npp .= "<br/><br/>--- Notes ---";
                            for($i=0;$i<count($tbl_npp1);$i++) {
                                $numbNote = $i+1;
                                $npp .= '<br/> [<a href="'. $page.'#nh'.$numbNote.'" name="nb'.$numbNote.'">'.($i+1).'</a>] '.substr(substr($tbl_npp1[$i],2),0,strlen($tbl_npp1[$i])-4);
    
                                $modx->documentObject['footnotes'][$i]=substr(substr($tbl_npp1[$i],2),0,strlen($tbl_npp1[$i])-4);
                            }
    
                           $o .=  $npp;
    
                      }
                    else{
                       return;
                    }
    
            break;
            default :
                return;
            break;
    
    }
    

      • 6726
      • 7,075 Posts
      Ca si ce n’est pas une démonstration de la vitalité (et du talent tongue) de cette communauté, je ne sais pas ce que c’est !
      Même pas 24h, non ? Vraiment, cette communauté est encore plus active que celle de Textpattern, c’est pas peu dire grin

      Que dire Laurent sinon que c’est sympa d’avoir consacré du temps à ce plugin !
      Pour le nom, ben FootNote c’est note de bas de page en anglais wink
      Ca sonne bien grin
        .: COO - Commerce Guys - Community Driven Innovation :.


        MODx est l&#39;outil id
        • 23050
        • 1,842 Posts
        Et ben dis donc !! Bravo Laurent pour ça wink
        NiCoS ne peut plus repartir maintenant laugh

        Mais, la chaleur m’a cramé quelques neurones aujourd’hui, concrètement, comment je l’utilise ?
          • 33175
          • 711 Posts
          Merci Laurent smiley

          Si un jour j’ai besoin, je n’hésiterai pas smiley et même si je n’ai pas besoin je crois grin

          Merci beaucoup de ta rapidité et pour ton travail smiley C’est un excellent ajout à modx smiley

          Quote from: davidm at Jun 28, 2006, 12:10 PM

          Pour le nom, ben FootNote c’est note de bas de page en anglais wink
          Ca sonne bien grin
          C’est sûr et ça à le mérite d’être clair smiley en plus j’ai appris un nouveau mot grin
          Oui, je sais... j’ai des lacunes wink
            Sorry for my english. I&#39;m french... My dictionary is near me, but it&#39;s only a dictionary !
            • 6726
            • 7,075 Posts
            Quote from: Perrine at Jun 28, 2006, 12:16 PM
            Mais, la chaleur m’a cramé quelques neurones aujourd’hui, concrètement, comment je l’utilise ?

            A mon avis il suffit de :
            1) Copier/Coller le code du plugin comme d’habitude
            2) Cocher OnLoadWebDocument dans Evènements
            3) Sauver le plugin
            4) Dans le document, insérer des notes de bas de page en utilisant la syntaxe mentionnée i.e {-ceci est ma note de bas de page-}

            et hop le tour est joué ! (Enfin je pense)
              .: COO - Commerce Guys - Community Driven Innovation :.


              MODx est l&#39;outil id
              • 23050
              • 1,842 Posts
              Ok, je n’ai encore jamais installé de plugin.

              donc à la place de {-ceci est ma note de bas de page-}, le plugin génère automatiquement un numéro (i) qui est ensuite incrémenté si besoin et il génère aussi en bas du doc le texte

              --- Notes ---
              puis la note

              Laurent, il serait peut-être intéressant de faire un lien sur le numéro de la note dans le texte pour passer directement au détail de la note, qu’en penses-tu ?

              Sinon, encore bravo, c’est pratique wink
                • 27526
                • 204 Posts
                Merci Laurent, je note ça ds un coin de ma tête wink
                  • 20394
                  • 134 Posts
                  Absolument simple et indispensable !
                  Sinon on pourrait peut-être récupérer les notes de bas de page et les mettre dans le tableau documentObject, pour les placer par exemple à gauche du texte avec un snippet ou tout autre usage (je sais, ce ne sont plus des notes de bas de pages wink).
                  /*
                   *  Name: Footnote
                   *  Version: 1.0
                   *  Author: Laurentc ([email protected])
                   *  Updated: June 28, 2006
                   *
                   *  Description:
                   *  will make a foot note when a note is found in tag {-MyNote-}
                   *
                   *
                   * Configuration:
                   *  check the OnLoadWebDocument event
                   *
                   *    TODO :
                   *    add a chunk for listing notes render
                   *
                   */
                  
                  $e = &$modx->Event;
                  switch ($e->name) {
                          case "OnLoadWebDocument":
                                  $o = &$modx->documentObject['content']; // Référence de la sortie
                                  // récupération de tous les Npp {-NPP-}
                                    if(preg_match_all( '~\{-(.*?)\-\}~' , $o, $tbl_npp)){
                  
                                         $tbl_npp1 = array_unique($tbl_npp[0]);
                                          for($i=0;$i<count($tbl_npp1);$i++) {
                                               $o = str_replace($tbl_npp1[$i],"<sup>".($i+1)."</sup>",$o);
                                          }
                  
                                        $npp .= "<br/><br/>--- Notes ---";
                                          for($i=0;$i<count($tbl_npp1);$i++) {
                                              $numbNote = $i+1;
                                              $npp .= "<br/> [$numbNote] ".substr(substr($tbl_npp1[$i],2),0,strlen($tbl_npp1[$i])-4);
                                          
                  ///Ici se place l'ajout
                                              $modx->documentObject['footnotes'][$i]=substr(substr($tbl_npp1[$i],2),0,strlen($tbl_npp1[$i])-4);
                                          }
                                         $o .=  $npp;
                  
                                    }
                                  else{
                                     return;
                                  }
                  
                          break;
                          default :
                              return;
                          break;
                  
                  }
                  
                  


                  On pourrait également créer un nouveau placeholder pour placer ces notes de bas de page, placeholder à utiliser dans les templates.
                    • 33175
                    • 711 Posts
                    Quote from: mrcou at Jun 28, 2006, 01:09 PM

                    Absolument simple et indispensable !
                    Sinon on pourrait peut-être récupérer les notes de bas de page et les mettre dans le tableau documentObject, pour les placer par exemple à gauche du texte avec un snippet ou tout autre usage (je sais, ce ne sont plus des notes de bas de pages wink).
                    Tu aimes bien documentObject ! wink
                    En tout cas, ça permet de laisser aller son imagination smiley
                      Sorry for my english. I&#39;m french... My dictionary is near me, but it&#39;s only a dictionary !
                      • 6726
                      • 7,075 Posts
                      Quote from: mrcou at Jun 28, 2006, 01:09 PM

                      Absolument simple et indispensable !
                      Sinon on pourrait peut-être récupérer les notes de bas de page et les mettre dans le tableau documentObject, pour les placer par exemple à gauche du texte avec un snippet ou tout autre usage (je sais, ce ne sont plus des notes de bas de pages wink).

                      (... code ....)

                      On pourrait également créer un nouveau placeholder pour placer ces notes de bas de page, placeholder à utiliser dans les templates.

                      Une raison particulière d’avoir re-posté le code du snippet ?
                      Y a t-il des modifs ?

                      Sinon mieux vaut l’enlever car cela porte à confusion...
                        .: COO - Commerce Guys - Community Driven Innovation :.


                        MODx est l&#39;outil id