PHP-Counter einbinden

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
wolfgang_58
Posts: 402
Joined: Sun Jan 10, 2010 2:05 pm

PHP-Counter einbinden

Post by wolfgang_58 » Sun Jul 29, 2012 2:44 pm

Hallo miteinander,
ich habe da im I-Net einen Counter gefunden, der meiner Meinung nach sehr gut ist, aber leider kann ich ihn in einem cms-template nicht einbinden, der funktioniert einfach nicht ;-(
Der Counter ist als php-Script vorhanden und kann kostenlos genutzt werden, zu finden unter http://www.christosoft.de

Der Counter soll auf jeder Seite hinter jedem "Body-Tag" eingebunden werden, aber bei cmsimple gibt es ja "nur" einen 'body-tag' im Template bzw. content.htm.

Vielleicht gibt es doch eine Lösung?

es grüßt
Wolfgang

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: PHP-Counter einbinden

Post by cmb » Sun Jul 29, 2012 3:35 pm

Hallo Wolfgang,

CrayzStat scheint wirklich eine interessante Alternative zu z.B. BBClone zu sein (ich werd's mir wohl noch mal genauer anschauen).

Die Einbindung in CMSimple scheint unproblematisch: ich habe den Ordner stat/ direkt ins CMSimple-Installationsverzeichnis hoch geladen, und dann einfach im Template an der Stelle, an der der Counter angezeigt werden soll, eingefügt:

Code: Select all

<?php @include_once("stat/src/include.php"); ?>
Dann werden auch gleich die Visits und Hits gezählt. Beim Rest der Statistik tut sich allerdings nichts -- ah, gerade gelesen, dass man dafür den gelben Blitz rechts oben in der Statistik anklicken muss; nun klappt auch das.

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

wolfgang_58
Posts: 402
Joined: Sun Jan 10, 2010 2:05 pm

Re: PHP-Counter einbinden

Post by wolfgang_58 » Sun Jul 29, 2012 3:49 pm

cmb wrote:Hallo Wolfgang,

CrayzStat scheint wirklich eine interessante Alternative zu z.B. BBClone zu sein (ich werd's mir wohl noch mal genauer anschauen).

Die Einbindung in CMSimple scheint unproblematisch: ich habe den Ordner stat/ direkt ins CMSimple-Installationsverzeichnis hoch geladen, und dann einfach im Template an der Stelle, an der der Counter angezeigt werden soll, eingefügt:

Code: Select all

<?php @include_once("stat/src/include.php"); ?>
Dann werden auch gleich die Visits und Hits gezählt. Beim Rest der Statistik tut sich allerdings nichts -- ah, gerade gelesen, dass man dafür den gelben Blitz rechts oben in der Statistik anklicken muss; nun klappt auch das.

Christoph
Hallo Christoph,

danke für die Hilfe!! Habe mal deinen Code in mein template eingefügt und schon klappt es!!
Dann mal nachgeschaut und der Fehler lag am Semikolon, das hatte ich vergessen ;-)

Gruss Wolfgang

Der Zwerch
Posts: 608
Joined: Sat Jul 28, 2012 11:38 am
Location: Perle der Grafschaft > 127.0.0.1

Re: PHP-Counter einbinden

Post by Der Zwerch » Sat Aug 04, 2012 4:24 pm

Hallo,
Ein klasse Counter. Nur muss ich jetzt noch versuchen ihn zu verstecken. Man soll die Zahl nicht sehen. Soll nur für mich sein :mrgreen:

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: PHP-Counter einbinden

Post by cmb » Sat Aug 04, 2012 4:50 pm

Hallo Zwerch,

im Download befindet sich die Datei stat/doc/config_settings_de.html. Dort ist beschrieben, wie man den Counter unsichtbar macht ($config_counter_enabled).

Noch ein allgemeiner Hinweis: der Counter könnte u.U. PHP-Bezeichner verwenden, die auch von CMSimple oder Plugins genutzt werden (ich glaube eher nicht, bin aber nicht sicher). Grundsätzlich ist es denkbar (kann, muss aber nicht funktionieren), dass der Counter in einer Funktion include'd wird, diese seine Ausgabe per Output-Buffer auffängt, und per return zurück liefert. Diese Funktion (z.B. crazystat()) könnte dann in einer Datei plugins/crazystat/index.php untergebracht werden -- und schon hätte man ein schönes neues Plugin für CMSimple. Vielleicht hat ja jemand Lust, das zu machen. Wer mehr über Plugin-Programmierung erfahren will, findet unter http://cmsimple-xh.com/wiki/doku.php/z_ ... troduction ein kleines Tutorial (leider immer noch nicht fertig).

Der Aufruf im Template wäre dann:

Code: Select all

<?php echo crazystat();?>
(wollte man den Counter nicht anzeigen, müsste man einfach das "echo" weg lassen)

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

Der Zwerch
Posts: 608
Joined: Sat Jul 28, 2012 11:38 am
Location: Perle der Grafschaft > 127.0.0.1

Re: PHP-Counter einbinden

Post by Der Zwerch » Mon Aug 06, 2012 7:12 am

Hallo,
Vielen Dank :P ,
Ich werde mich die Tage einmal näher mit dem Counter auseinander setzen. Leider fehlt mir im Moment ein wenig die Zeit.

Ein Plugin zu erstellen, das traue ich mir beim besten Willen nicht zu. Dazu reichen meine Kenntnisse nicht aus :(

crazy4chrissi
Posts: 5
Joined: Mon Aug 13, 2012 5:17 pm

Re: PHP-Counter einbinden

Post by crazy4chrissi » Mon Aug 13, 2012 6:02 pm

Hallo zusammen,

ich bin der Autor von CrazyStat. Es freut mich sehr, dass euch mein Script gefällt. :D
Bezüglich PHP-Bezeichnern, die kollidieren könnten. Folgende Namen werden verwendet:

Variablen:
- $crazystat_* (schreibend & lesend)
- $config_* (hauptsächlich lesend, die Liste ist entweder in bereits erwähnter Dokumentation zu finden oder in stat/src/config_default.php
- $set_* (lesend, auch alle in Doku erwähnt)
- $user_config (lesend)
- $counter_stand und $counter_value (schreibend, enthalten den Counterstand zur Verwendung als Textcounter)

Konstanten:
- L_* (Sprach-Strings, siehe z.B. stat/src/lang/de.php für vollständige Auflistung)

Zugegebenermaßen wäre es generell besser, das ganze in eine Funktion zu setzen um Probleme zu vermeiden (wobei das bei den Konstanten nicht hilft). Kommt auf die Todo. In der Praxis würde ich keine Probleme erwarten, höchstens die config-Variablen könnten in Einzelfällen schwierig sein (v.a. $config_xhtml ist recht kurz und möglicherweise auch an anderer Stelle verwendet).

Prinzipiell wäre es nicht schlecht, die include.php so umzuschreiben, dass sie eine Funktion mit eigenem Namensraum verwendet und (evtl. optional) nicht direkt ausgibt. Werde ich bei Gelegenheit mal tun, damit wäre CrazyStat dann ja offenbar schon direkt "CMSimple-plugin-fähig". Wenn es jemand von euch tut, lasst es mich wissen, ich würde mich sehr über Mitarbeit an CrazyStat freuen.

Beste Grüße,
Christopher

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: PHP-Counter einbinden

Post by cmb » Tue Aug 14, 2012 11:36 am

Hallo Christopher,

willkommen im CMSimple Forum.

Vielen Dank für die Auflistung der Variablen und Konstanten -- mit CMSimple_XH selbst dürfte da nichts kollidieren. Bei Plugins kann man diese wohl nicht absolut ausschließen, aber die können sich prinzipiell ja auch gegenseitig in die Quere kommen.
crazy4chrissi wrote:Zugegebenermaßen wäre es generell besser, das ganze in eine Funktion zu setzen um Probleme zu vermeiden (wobei das bei den Konstanten nicht hilft).
Ich hab' das mal als CMSimple-Plugin ausprobiert. Dazu habe ich plugins/crazystat/index.php angelegt:

Code: Select all

<?php

function crazystat()
{
    global $pth;
    ob_start();
    include_once $pth['folder']['plugins'] . 'crazystat/stat/src/include.php';
    $o = ob_get_clean();
    return $o;
}

?>
und das stat/ Verzeichnis aus dem Download ebenfalls nach plugins/crazystat/ kopiert, und in plugins/crazystat/usr/config.php Zeile 55 geändert:

Code: Select all

$config_rel_path="./plugins/crazystat/stat/"; // Path to CrazyStat         
Dann kann man im Template aufrufen:

Code: Select all

<?php echo crazystat();?>
oder auch <?php crazystat();> wenn man die Ausgabe des Counter unterdrücken will.

Das funktioniert prima!

Für ein CMSimple-Plugin wäre es natürlich noch schön, wenn die Einstellungen und die Sprach-Konstanten noch im CMSimple-Back-End eingesehen und geändert werden könnten. Aber das ist natürlich nicht die Aufgabe von Crazystat, sondern von einem CMSimple-Plugin, das Crazystat für CMSimple anbietet.
crazy4chrissi wrote:Prinzipiell wäre es nicht schlecht, die include.php so umzuschreiben, dass sie eine Funktion mit eigenem Namensraum verwendet
Ein Namespace würde eventuelle Probleme mit den Konstanten vermeiden. Allerdings erforderte Crazystat dann wenigstens PHP 5.3 -- zur Zeit läuft es wohl auch unter PHP 5.2, das wohl bei so manchem Hoster die aktuellste Version ist (auch wenn der Support dafür längst eingestellt wurde).

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

wolfgang_58
Posts: 402
Joined: Sun Jan 10, 2010 2:05 pm

Re: PHP-Counter einbinden

Post by wolfgang_58 » Fri Aug 17, 2012 7:20 am

Hallo Cristoph und Cristopher,
da habe ich wohl was hier zum "Rollen" gebracht, dass ich nicht wollte!
Für mich als User war nur am Anfang die Frage: Warum funktioniert dies (Cunter) nicht??
Dann habe ich festgestellt, dass "nur" ein Semikolon der Fehler war und nun wird hier diskutiert.

Sorry, dass ich hier mit dem CrazyStat mein Problem angefragt habe ;-(((

Hoffe, ich bekomme keine Schwierigkeiten, da ich mich nicht an den Urheber zuerst gewandt habe!!

es grüßt
Wolfgang

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: PHP-Counter einbinden

Post by cmb » Fri Aug 17, 2012 10:30 am

Hallo Wolfgang,
wolfgang_58 wrote:Sorry, dass ich hier mit dem CrazyStat mein Problem angefragt habe ;-(((
Das muss Dir nicht leid tun -- im Gegenteil! So haben auch andere von dem interessanten Counter-Skript erfahren. Und bei den zuletzt längeren Posts ging's halt um diverse technische Details, die Feststellung dass beim Betrieb von CrazyStat mit CMSimple wohl keine Probleme zu erwarten sind, und wie man den CrazyStat zu einem CMSimple-Plugin machen kann.
wolfgang_58 wrote:Hoffe, ich bekomme keine Schwierigkeiten, da ich mich nicht an den Urheber zuerst gewandt habe!!
Nein, wieso denn auch? Die Probleme beim Einbau des Counters hätten ja durchaus auch CMSimple spezifisch sein können.

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply