Admin von der ‚Beitrag gelesen‘-Zählung im Drupal CMS ausnehmen

Avatar von Christoph Langner

2 Min. Lesezeit

5 Aufrufe

Eine Standardinstallation von Drupal zählt bei aktiviertem Statistik-Modul wie oft ein Artikel gelesen, sprich aufgerufen, wurde. Allerdings wird dabei jeder Aufruf gezählt. Überarbeitet man beispielsweise als Administrator Beiträge, so verändert man dabei die Anzahl der Hits. Möchte man die Zahlen also „sauber“ halten, so muss man Drupal ein wenig anpassen… Dazu bearbeitet man die Datei…

Drupal

Eine Standardinstallation von Drupal zählt bei aktiviertem Statistik-Modul wie oft ein Artikel gelesen, sprich aufgerufen, wurde. Allerdings wird dabei jeder Aufruf gezählt. Überarbeitet man beispielsweise als Administrator Beiträge, so verändert man dabei die Anzahl der Hits. Möchte man die Zahlen also „sauber“ halten, so muss man Drupal ein wenig anpassen

Dazu bearbeitet man die Datei statistics.module im Verzeichnis modules/statistics. Hier ersetzt man die Funktion statistics_exit() mit folgendem Code. Anschließend wird der Zähler nicht mehr erhöht, wenn ein Administrator oder der Autor eines Nodes den entsprechenden Artikel aufruft.

function statistics_exit() {
  global $user, $recent_activity;

  drupal_bootstrap(DRUPAL_BOOTSTRAP_PATH);

  if (variable_get('statistics_count_content_views', 0)) {
    // We are counting content views.
    if ((arg(0) == 'node') && is_numeric(arg(1)) && arg(2) == '') {
      // A node has been viewed, so update the node's counters.
      // exclude admin & node author
$nid = arg(1);
$node = node_load($nid);
$node_author = $node->uid;
if (!user_access('administer nodes') && $user->uid!=$node_author) {
          db_query('UPDATE {node_counter} SET daycount = daycount + 1, totalcount = totalcount + 1, timestamp = %d WHERE nid = %d', time(), arg(1));
         // If we affected 0 rows, this is the first time viewing the node.
          if (!db_affected_rows()) {
        // We must create a new row to store counters for the new node.
        db_query('INSERT INTO {node_counter} (nid, daycount, totalcount, timestamp) VALUES (%d, 1, 1, %d)', arg(1), time());
    }
         }
    }
  }
  if ((variable_get('statistics_enable_access_log', 0)) && (module_invoke('throttle', 'status') == 0)) {
    // Log this page access.
    db_query("INSERT INTO {accesslog} (title, path, url, hostname, uid, sid, timer, timestamp) values('%s', '%s', '%s', '%s', %d, '%s', %d, %d)", strip_tags(drupal_get_title()), $_GET['q'], referer_uri(), $_SERVER['REMOTE_ADDR'], $user->uid, session_id(), timer_read('page'), time());
  }
}

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Markdown wird unterstützt: **fett**, _kursiv_, [Linktext](URL), `Code`, Zeilen mit - für Listen, 1. für nummerierte Listen, dreifache Backticks für Codeblöcke.

Über den Blog

Linux und Ich ist ein unabhängiger Blog rund um GNU/Linux-Distributionen, freie Software, Raspberry Pi, Android und Hardware für Bastler und Umsteiger.

Zuletzt auf Mastodon

Gesten Abend noch schnell verbloggt: tfm bringt Seitenleiste, Tabs, Zwei-Fenster-Ansicht und Mausbedienung ins Terminal – ein Dateimanager für alle, die dort ohnehin am liebsten arbeiten. Noch mit kleinen Beta-Macken, aber…

Kategorien

Blog unterstützen

Gefällt dir der Blog? Mit einer kleinen Spende hilfst du, Hosting und neue Testgeräte zu finanzieren.

Linux und Ich — Admin von der ‚Beitrag gelesen‘-Zählung im Drupal CMS ausnehmen
https://linuxundich.de/webhosting/admin-von-der-beitrag-gelesen-im-drupal-cms-zahlung-ausnehmen/ — gedruckt am 17. September 2026