WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 12.03.2016 12:26:33

elsbeth
Mitglied

MiniCounter() bzw. $websitestats | "Diese Seite: / This page:"

Hallo zusammen,

gibt es eine Variable um den Besucherzähler pro Seite auszugeben?

Die bisher gefunde Standardvariante:

<?php
echo " Besucher gesamt: " . $websitestats['visitors'];
echo " - Gerade online: " . $websitestats['online']; 
echo " - Heute: " . $websitestats['today'];
?>

Dieser gibt ja bekanntlich nur die unique Gesamtbesucher der kompletten Webseite aus.

Möchte aber im Frontend (Footer) sofort sehen, wieviele Besucher speziell auf tiefergelegene Unterseiten gewesen sind:

Startseite: "Pagehits: 12898 (Today: 8)"
3. Unterseite: "Pagehits: 14 (Today: 0)"

Dies kenne und schätze ich sehr am alten Snippet/Modul "MiniCounter"... Hat das schon jemand versucht zu adoptieren?

VG Gerald

Offline

#2 14.03.2016 00:21:53

marmot
Mitglied

Re: MiniCounter() bzw. $websitestats | "Diese Seite: / This page:"

elsbeth schrieb:

gibt es eine Variable um den Besucherzähler pro Seite auszugeben?
.....
Möchte aber im Frontend (Footer) sofort sehen, wieviele Besucher speziell auf tiefergelegene Unterseiten gewesen sind:

ganz klar ist mir nicht, was du genau möchtest. Sollen auf jeder Seite die Statistiken für alle Seiten für den aktuellen Tag vorhanden sein? Oder doch nur auf jeder Seite die Statistik dieser Seite? Oder dann doch die Daten seit Counterstart bis zum aktuellen Tag?
Falls du z.B. auf jeder Seite die Zahl der Aufrufe dieser Seite haben möchtest, dann gehe (in wbstats) class.stats.php und füge nach Zeile 71 ein:

[== PHP ==]
$result['page_visits'] = $database->get_one("SELECT sum(view) FROM ".$table_pages." WHERE `page` = '".$_SERVER['REQUEST_URI']."'");

dann steht dir auf jeder Seite mit

[== PHP ==]
echo " Besucher dieser Seite: " . $websitestats['page_visits'];

die Summe der Seitenaufrufe dieser Seite in den letzen 7 Tagen zur Verfügung.

Offline

#3 11.06.2016 12:55:06

tomno399
Gast

Re: MiniCounter() bzw. $websitestats | "Diese Seite: / This page:"

@marmot
Ich habe den obigen Code eingebaut. Er funktioniert nicht ohne folgenden Code über dem Head-Bereich der index.php:

[== PHP ==]

include_once (WB_PATH.'/modules/wbstats/class.stats.php');
$object = new stats();
$websitestats = $object->getStats();

Gruß Tom

Beitrag geändert von tomno399 (11.06.2016 17:40:55)

#4 11.06.2016 19:25:46

marmot
Mitglied

Re: MiniCounter() bzw. $websitestats | "Diese Seite: / This page:"

tomno399 schrieb:

@marmot
Ich habe den obigen Code eingebaut. Er funktioniert nicht ohne folgenden Code über dem Head-Bereich der index.php:

Nun, ich habe ja auf den ersten Beitrag geantwortet. Und aus diesem Beitrag geht hervor, dass $websitestats bereits definiert ist. Daher war davon auszugehen, dass der von dir genannte Code oder ein Äquivalent bei elsbeth bereits vorhanden war.
Aber du hast natürlich Recht, für einen "Dritten" Leser ist die Sache durch deinen Hinweis nun deutlich klarer.

Offline

#5 11.06.2016 20:27:16

tomno399
Gast

Re: MiniCounter() bzw. $websitestats | "Diese Seite: / This page:"

Ja, einer der Dritten war ich, bis ich den Code im anderen Forum fand. Aber dennoch danke!
Noch eine abschließende Frage: Kann der Zeitraum von 7 auf 30 oder alle Tage geändert werden?

Beitrag geändert von tomno399 (11.06.2016 20:55:08)

#6 12.06.2016 13:22:35

marmot
Mitglied

Re: MiniCounter() bzw. $websitestats | "Diese Seite: / This page:"

tomno399 schrieb:

Kann der Zeitraum von 7 auf 30 oder alle Tage geändert werden?

In der class.count.php und class.stats.php wird der Wert "old_date" in den Zeilen 56 bzw. 49 definiert. Hier kannst du die -7 anpassen. Daten die älter sind als die hier angegebene Zahl an Tagen werden gelöscht. Allerdings wird für jede aufgerufene Seite einmal am Tag ein neuer Eintrag angelegt. Sofern du also viele Seiten hast und die alle nahezu täglich aufgerufen werden, wird die Tabelle schnell sehr groß, falls du die 7 Tage auf einen sehr großen Wert setzt.
Angenommen es werden täglich 50 verschiedene Seiten aufgrufen und duch hast dich für 365 Tage entschieden, dann hat die Tabelle eine durchschnittliche Größe von fast 20000 Einträgen.
Natürlich kann man daran wieder basteln, z.B. indem man zu jeder Seite die Daten nicht per Tag, sondern insgesamt speichert. Aber dann wird die Anpassung halt etwas aufwändiger.

Offline

#7 12.06.2016 14:39:13

tomno399
Gast

Re: MiniCounter() bzw. $websitestats | "Diese Seite: / This page:"

Danke marmot! Ich habe mal vorsichtig die "-7" zu "-30" in beiden Dateien geändert und werde das Ergebnis beobachten. Aber wie ich meine Kameraden kenne, werden dort eh keine hohen Werte heraus kommen, auch wenn wir 14 Tege vor der Hauptversammlung stehen  roll Naja, damit muss jeder Verein leben.

Fußzeile des Forums

up