We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28173
    • 409 Posts
    Bonsoir,

    Je suis à la recherche d’un module pouvant comptabiliser le nombre de lecture de certaines pages.
    J’ai fouillé dans les ressources disponibles mais n’ai pas trouvé undecided

    Merci smiley
      • 20488
      • 353 Posts
      Bonjour,

      cet outil est inclus dans le core :
      en espace administrateur : outils -> configuration -> Enregistrer les visites

      ++
        • 28173
        • 409 Posts
        Quote from: Olivier at Dec 12, 2006, 05:01 AM

        Bonjour,

        cet outil est inclus dans le core :
        en espace administrateur : outils -> configuration -> Enregistrer les visites

        ++
        D’accord mais comment récupérer l’information ?
          • 16732
          • 592 Posts
          Heu... si je ne me trompe pas, ce que tu décris Olivier, est un reliquat du système de stats de la 0.9.2.... le système a , si je ne m’abuse, été supprimé sur la 0.9.5.

          Je crois qu’il existe un post de David à ce sujet.

          Par contre il est tout à fait possible d’installer un système de stats et d’insérer le tracker dans les pages de MODx.
          Voici un exemple pour SlimStat : http://modxcms.com/slimstat-plugin-for-modx.html


            • 20488
            • 353 Posts
            shocked C’est exactement ce que je viens de voir... :-/
            Vraiment désolé pour la fausse piste ! A moins que tu ne tourne en 0.9.2...
              • 23478
              • 133 Posts
              Yep

              et j’avais fait la demande pour qu’ils enlèvent ce truc (l’option de config) qui porte à confusion ...
              preuve est que j’avais raison undecided
                • 28173
                • 409 Posts
                Merci pour SlimStat smiley

                Ca n’est toutefois pas exactement ce que je cherche mais peut-être qu’il fera l’affaire (à vrai dire je cherchais un compteur de lecture pour certains article).
                Seulement voilà... j’ai suivis pas à pas les instructions pour installer le plugin, mais ça ne semble pas marcher.
                Dans les Ressources>Plugins, il suffit bien de mettre la ligne suivante ?
                <?php @include_once( $_SERVER["DOCUMENT_ROOT"]."/assets/plugins/slimstat/inc.stats.php" ); ?>

                Car ça n’enregistre aucune statistique undecided
                  • 6726
                  • 7,075 Posts
                  Plus simple et rudimentaire mais probablement plus adapté à ce que tu souhaites faire :
                  Page Hit Counter de Susan Ottwell

                  :)
                    .: COO - Commerce Guys - Community Driven Innovation :.


                    MODx est l&#39;outil id
                    • 28173
                    • 409 Posts
                    Ah oui c’est plus ce que je cherche !

                    Jj’ai réussi à l’installer sans pb.

                    J’aimerai toutefois l’améliorer un peu et en profiter pour comprendre le développement sous MODx car je balbutie encore pas mal.
                    Je souhaite loguer l’IP du derier visiteur afin qu’en cas de rechargement de la page le compteur ne s’incrémente pas.
                    J’ai donc créé un nouveau champ dans la table page_hit_counter nommé page_last_ip
                    J’ai modifié le plugin CountPageHit comme suit (partie en rouge) pour logguer cette IP :

                    // CountPageHit - plugin for MODx 0.9.x
                    // maintains a count of page views
                    // 08-2006 [email protected]
                    // Released to Public Domain
                    // uses onWebPagePrerender system event
                    // Manager users’ visits will not be counted.
                    // Documents set to not Log Visits will not be counted.
                    // requires PageHitCounter module to create the page_hit_counter table

                    function get_client_ip_address() {
                    $remote_addr = $_SERVER["REMOTE_ADDR"];
                    if ( ( $remote_addr == "127.0.0.1" || $remote_addr == $_SERVER["SERVER_ADDR"] ) && $_SERVER["HTTP_X_FORWARDED_FOR"] ) {
                    $remote_addrs = explode( ", ", $_SERVER["HTTP_X_FORWARDED_FOR"] );
                    $remote_addr = $remote_addrs[0];
                    }
                    return $remote_addr;
                    }

                    $remote_ip = get_client_ip_address();


                    global $table_prefix;

                    if(!isset($_SESSION[’usertype’])) { $_SESSION[’usertype’] = ’’; }

                    if($modx->documentObject[’donthit’] != 1 && $_SESSION[’usertype’] != ’manager’) {

                    $sql = "INSERT INTO ".$table_prefix."page_hit_counter (page_id, page_count, page_last_ip) VALUES ($modx->documentIdentifier, 1, \"$remote_ip\")
                    ON DUPLICATE KEY UPDATE page_count=page_count+1";
                    $modx->db->query($sql);
                    }
                    return;
                    Et ça marche plutôt bien : l’IP du dernier visiteur est bel et bien inscrite dans la table.

                    Mon soucis, c’est plus sur la récupération des données dans la base pour faire un test.
                    J’ai par exemple inséré ceci dans le code du plugin :
                      $sql1 = "SELECT page_last_ip FROM ".$table_prefix."page_hit_counter WHERE page_id = ".$modx->documentIdentifier ;
                      $modx->db->query($sql1);
                    

                    Mais là je bloque... la requête fonctionne, mais je ne comprends pas comment récupérer l’info. J’ai vraiment du mal avec la programmation objet... j’espère qu’avec un cas concret je vais y arriver !

                    Merci pour votre aide smiley
                      • 16732
                      • 592 Posts
                      Quote from: Spheerys at Dec 13, 2006, 01:25 PM


                      Mon soucis, c’est plus sur la récupération des données dans la base pour faire un test.
                      J’ai par exemple inséré ceci dans le code du plugin :
                        $sql1 = "SELECT page_last_ip FROM ".$table_prefix."page_hit_counter WHERE page_id = ".$modx->documentIdentifier ;
                        $modx->db->query($sql1);
                      

                      Mais là je bloque... la requête fonctionne, mais je ne comprends pas comment récupérer l’info. J’ai vraiment du mal avec la programmation objet... j’espère qu’avec un cas concret je vais y arriver !

                      Que veux-tu faire exactement ?

                      Si c’est juste pour récupérer le résultat de ta requête tu peux faire quelque chose comme ça :
                      $rs = $modx->db->query($sql1);
                      $row= $modx->db->getRow($rs)
                      $output = $row['page_last_ip'];