Fremdes Counterscript per PHP in Footer Datei einbinden...

Begonnen von breakdancer, 19 März 2007, 21:07:35

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

breakdancer

Hallo mal wieder...

Ich hätte "Noob" anstatt Break_Dancer als Login-Name nehmen sollen... wäre passender gewesen.

Heutiges Problem: Ich habe mir einen tollen Counter besorgt mit externer mySql-Datenbank und will diesen jetzt in meine Seite einbauen.

Jetzt habe ich einen Code und eine PMX-Installation und keinen Schimmer, wie ich das realisieren soll. Der Counter soll sichtbar sein, deswegen kommt "irgendwo reinfuddeln" nicht in Frage. Er soll da stehen, wo jetzt im Moment noch der Orange Counter unten auf der Seite zu finden ist... Da will ich ihn hinhaben, so dass ausnahmslos alle Seitenzugriffe gezählt werden.

Betroffen ist wohl die Footer.php ? Aber da les ich was von Seitenbenchmark und mod_rewrite und kann nicht sehen, was wohin gehört...

Kann mir bitte jemand helfen und mir mal sagen welche Datei zu bearbeiten ist und wo genau ich den Code einfügen muss ? Um folgenden PHP-Code handelt es sich...

<?php
$chCounter_visible 
1;
$chCounter_status 'active';
$chCounter_page_title 'www.kirmes-und-volksfest.de';
include( 
'/home/httpd/vhosts/**derPfadzumeinemCounter/counter.php' );
?>


Das Fragment muss dann wohl ohne die Zeichen für Anfang und Ende eingegeben werden, das ist klar. Aber wo ?

Lieben Gruss

Markus

P. S. Meine Domain kennt ihr ja inzwischen, oder ? Sie steht auch im Profil.


breakdancer

Hey Maverick  :smile:

Danke für den Tip, hab den Thread beim Suchen net gefunden.

Schaus Dir bitte grad mal an, so sollte es eigentlich nicht aussehen.

Klar wird der Counter jetzt eingefügt und zwar ganz unten im Eck im Footer. Eigentlich sollte er - wie gesagt - in den Bereich irgendwo rein, wo jetzt der andere breite Counter drüber steht... Also in den farbigen Kasten rein... In den entsprechenden Eingabefeldern in den Einstellungen geht es ja nicht, wenn man nicht JS verwenden möchte... Also muss es in´s Template.

Irgendeine Idee wie ich das realisieren könnte ?

LG

Markus

maverik

als spontane idee kann ich dir nur das sagen was auch im thread steht bzw. mehr gedanken habe ich mir dazu noch nicht gemacht da mir meine lösung so gefällt

so long maverik

breakdancer

Muss ich ma guggen, ob ich mir da ne Zwischenlösung hinbaue, wie Du Sie dir da zusammengestellt hast. Find ich übrigens toll und passt auch prima zur Seite. Kompliment.

Nur bei mir wäre es mir eben anders lieber...

Vielleicht hat ja noch jemand eine Idee ?

Lieben Gruss

Markus

Carlos Brasil

Also ich verwende den Counter auch und habe ihn am Ende der header.php eingefügt
Wenn du dann noch
$chCounter_page_title = 'www.kirmes-und-volksfest.de';
durch
$chCounter_page_title = $pagetitle;
ersetzt, dann wird jede Seite gezählt.

$chCounter_visible = 0;
$chCounter_status = 'active';
$chCounter_page_title = $pagetitle;
include('derPfadzumCounter/counter.php');
?>

Viel Glück und Spass mit dem Counter,
lieben Gruss Carlos
Carlos Brasil • http://www.kwjr.de

breakdancer

Hey Carlos,

jau, so hab ich´s auch gemacht. Und funktioniert perfect. Alles wird gezählt, jetzt bin ich fast glücklich.

Bis auf dass der Counter ja eigentlich den Fremdcounter unten auf der Seite ersetzen sollte weil ich den Link weg haben wollte. Aber Du hast wohl Recht. Setze ich ihn da unten irgendwie rein, wird wieder nicht jede Seite gezählt...

Dann lieber so. Falls noch jemand ne Idee hat, wie ich den Counter visible machen kann dort unten und zwar so, dass er doch alle Seitenzugriffe zählt, immer her damit.

Ansonsten herzlichen Dank für die super Hilfe und gute N8 !

Markus

Carlos Brasil

Verstehe ich dich richtig, du möchtest, dass die Seitenaufrufe unten im Fuss angezeigt werden?
Carlos Brasil • http://www.kwjr.de

breakdancer

Hi Carlos & alle Anderen,

Ja korrekt...

Ich erkläre das nochmal, damit es auch jeder versteht...

Schaut mal auf meine Seite wie üblich und scrollt bitte ganz runter ans Ende. Ihr seht den ChCounter derzeit in der linken unteren Ecke ein trübes Dasein fristen...

Ein paar Zeilen darüber seht ihr ein eingebundenes Counterscript, das von www.swiss-counter.com oder so ähnlich kommt. Funktioniert übrigens auch prima und zählt gut, aufgrund der Funktionsvielfalt soll aber genau an die Stelle, wo jetzt der Swiss-Counter steht, der ChCounter rein. Also der Block soll in zwei Spalten geteilt werden. Bis max. online geht die erste Spalte (Besucherzugriffe) und rechts davon soll dann die Statistik der Seitenzugriffe stehen... Und alles genau an der Stelle, an der jetzt der Swiss Counter steht...

Problem dabei wird wohl sein, dass ich nicht das ganze Script dort oben einbinden kann, weil sonst nicht alle Seiten gezählt werden. Nur die Ausgabe soll hier erfolgen, das Zählen aber weiterhin im Footer-Bereich...

Noch Fragen ? Immer her damit...

Kann mir da jemand helfen?

Lieben Gruss

Markus

Baldyman

Servus breakdancer

meinst Du so wie bei mir unten  :gruebel:

www.wewill.kilu3.de

edit: sehe gerade, ist eigentlich nix anderes wie bei Maverick  :red:

breakdancer

#10
Servus Baldyman,

ähnlich... Maverick hatte das ja auf seiner Rheinbrückenseite schon so gemacht... Bei mir ist aber der Footer weiss abgesetzt... Hm...

Also wie gesagt, wünschen würde ich mir tatsächlich das, was oben steht... Wenn ich aber unten auf der ganzen Seite den Statistikbalken mit einblenden könnte, so wie Du das gemacht hast, wäre das auch okay... Aber dann wie gesagt zweizeilig...

Liebe Grüßs

Markus


EDIT: Also, ich hab die Konfiguration ein bisschen geändert jetzt... Wichtig wäre mir jetzt nur noch, dass ich mehrere Spalten machen kann, damit nicht alles untereinander steht und die Seite ewig in die Länge zieht. Die Zellenbreite kann ich ja flexibel ändern, das ist kein Problem... Ausserdem hätte ich das Ganze gerne einfach in den PMX Kasten obendrüber integriert, statt unten drunter...

Baldyman

Hatte auch mal versucht, zusammen mit jemand aus dem chCounter Forum,
den chCounter als Block laufen zu lassen.
War aber net so erfolgreich  :(
Sah so aus....vielleicht will sich ja jemand daran weitervergreifen  ;)


<?php
// chCounter
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
$mxblockcache FALSE;

ob_start();
$chCounter_force_new_db_connection FALSE
$chCounter_visible 1;
include( 
'deincounterpfad/counter.php' );
$chCounter ob_get_contents();
ob_end_clean();

$content $chCounter;
?>


Problem war daran, auf der linken Seiten den Block anlegen ging. Man sah ihn auch.
Nur wenn man den Block dann z.B. nach rechts ändern wollte kamen Fehlermeldungen.

Waren glaube ich folgende...

Notice: Undefined variable: _CHC_DBCONFIG in /var/www/users/xxx/chCounter/counter.php on line 96

Notice: Undefined variable: _CHC_DBCONFIG in /var/www/users/xxx/chCounter/counter.php on line 96

Notice: Undefined variable: _CHC_DBCONFIG in /var/www/users/xxx/chCounter/counter.php on line 96
chCounter: MySQL error!
Error number: 0

Script stopped.


Hab dann aufgegeben, und die Lösung siehst Du ja unten auf meiner Seite  :BD:
Wie gesagt, vlt. hat ja jemand Lust weiter zu operieren. Viel Glück...

JoergK

#12
Sodele, nu hab ich mir mal den ChCounter angesehen und nach einigen Versuchen hab ich's hinbekommen, dass man ihn recht einfach über die Theme-Dateien zur integrierten Anzeige bewegen kann.

Alle Angaben beruhen auf dem mx-default-Theme, dürften jedoch recht einfach auch auf ein anderes Theme übertragbar sein.

1. Anpassung der theme.html
Wir suchen uns die Zeile:
<?php
        
<div class="footmsg">{FOOTMESSAGE}<br>{VIEWBENCH}</div
?>

und ändern sie durch Einbau einer zusätzlichen "Ersetzungskennung" so ab:
<?php
        
<div class="footmsg">{FOOTMESSAGE}<br></div>    
        {
CHCOUNTER}
        <
div class="footmsg"><br>{VIEWBENCH}</div>
?>


2. Anpassung der functions.php
Wie suchen uns die function theme_define_placeholders und fügen am Ende vor der Zeile:
<?php
    
return $part;
?>

diese Zeile ein:
<?php
    $part
[] = array("{CHCOUNTER}"mx_ChCounter());
?>


Jetzt gehen wir ganz ans Ende der funktion.php und fügen nach der letzten } das hier ein:
<?php
function mx_ChCounter() {
    
$chCounter_visible 1;
    
$chCounter_status 'active';
    
$chCounter_force_new_db_connection FALSE;
    include( 
'Pfad_zum_Counter/counter.php' );
    return 
$chC_counter_output;
}
?>


Den Pfad zum Counter erhaltet ihr in der Onlinehilfe eures Counters, wenn ihr Links auf PHP klickt:
http ://www.deineurl.de/Verzeichnis_des_Counters/administration/index.php?cat=help&sub=php

3. Anpassung der counter.php des ChCounters
So, damit die Ausgabe des Counters jetzt auch wirklich innerhalb des Themes erscheint, sind noch zwei Änderungen an der counter.php notwendig:

Zunächst fügen wir am Anfang (nach der Zeile //timer();) dies ein:
<?php
global $chC_counter_output;
?>


Dann suchen wir uns diese Zeile (ziemlich am Ende):
<?php
    
print $chC_counter_output;
?>

und kommentieren die print-Anweisung einfach aus:
<?php
    
// print $chC_counter_output;
?>


Und das war's auch schon.  ;)
Ansehen könnt ihr Euch das auf http://joergk.jo.ohost.de/.

Wie ihr Euch die Template-Datei ändert, brauch ich wohl nicht zu erklären ... soviel HTML-Kenntnisse setz ich mal einfach voraus. ;D

EDIT: Tippfehler korrigiert.  :red:
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Baldyman

#13
  JoergK
saubere Arbeit !!!
Ob ich das auch hin bekomme  :gruebel: aber bei der Anleitung hab ich keine Bedenken  :thumbup:


EDIT: Name korrigiert  ;)

JoergK

Zitat von: Baldyman am 19 Mai 2007, 01:42:49
Ob ich das auch hin bekomme  :gruebel: aber bei der Anleitung hab ich keine Bedenken  :thumbup:

Will ich doch meinen ... ist schliesslich fast wie "Malen nach Zahlen".  ;D ;D
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

breakdancer

#15
Hey,

das ist doch mal wieder so ein genialer Beitrag von der Sorte "User helfen Usern"...

Werde leider erst Montag dazu kommen, die ganze Geschichte umzusetzen, da ich dieses Wochenende nicht zu Hause bin. Aber da bin ich mir doch mal ganz sicher, dass das klappen wird. Es sieht übrigens genau so aus, wie ich es bei mir haben wollte.

:geil: Bin baff, vielen Dank, JoergK !!!!  :genie:

Kurzes Wort noch zur Template-Datei des CHCounters: Wer es in einer Spalte haben und es sich einfach machen möchte, kann den Templategenerator auf http://chcounter.org/template-generator.php benutzen. Hier könnt ihr die anzuzeigenden Counterfelder auswählen, Schriftgrößen und -Farben sowie die Hintergründe auswählen, generieren und erhaltet einen schönen, sauberen Code, den ihr nur noch in die counter.tpl.html einfügen musst und ihr seid fertig damit...

Markus

JoergK

#16
Mir ist aufgefallen, dass durch den Code vom Generator der ChCounter-Seite die Seitenausgabe nicht mehr HTML-valide ist. Um das zu ändern, sind zwei (weitere) Änderungen notwendig.

1. Anpassung der Pfad_zum_Counter/templates/counter.tpl.html
In dieser Datei entfernen wir den kompletten CSS-Code inklusive der öffnenden und schliessenden <style>-Tags:
<style type="text/css">
.chcTable {
    width: 600px;
    border-spacing: 1px;
    border-width: 1px;
    border-color: #000000;
    border-style: solid;
    text-align: left;
    background-color: #ECF4D7;
}
.chcHeaderRow {
    background-color: #99CC33;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: bold;
    padding: 3px;
}
.chcLeftRow {
    background-color: #FFFFFF;
    color: #000000;
    font-size: 10px;
    padding: 3px;
}
.chcLeftRowAlt {
    background-color: #ECF4D7;
    color: #000000;
    font-size: 10px;
    padding: 3px;
}
.chcRightRow {
    background-color: #FFFFFF;
    font-size: 11px;
    font-weight: bold;
    color: #000000;
    padding: 3px;
    text-align: right;
}
.chcRightRowAlt {
    background-color: #ECF4D7;
    font-size: 11px;
    font-weight: bold;
    color: #000000;
    padding: 3px;
    text-align: right;
}
.chcA a {
    font-size: 10px;
}
</style>


2. Anpassung der /includes/my_header.php
Hier fügen wir am Ende den obigen Code ein, den wir noch in eine echo-Ausgabe packen:
<?php

echo '
<!-- START CSS-Style fuer chCounter -->
<style type="text/css">
.chcTable {
    width: 600px;
    border-spacing: 1px;
    border-width: 1px;
    border-color: #000000;
    border-style: solid;
    text-align: left;
    background-color: #ECF4D7;
}
.chcHeaderRow {
    background-color: #99CC33;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: bold;
    padding: 3px;
}
.chcLeftRow {
    background-color: #FFFFFF;
    color: #000000;
    font-size: 10px;
    padding: 3px;
}
.chcLeftRowAlt {
    background-color: #ECF4D7;
    color: #000000;
    font-size: 10px;
    padding: 3px;
}
.chcRightRow {
    background-color: #FFFFFF;
    font-size: 11px;
    font-weight: bold;
    color: #000000;
    padding: 3px;
    text-align: right;
}
.chcRightRowAlt {
    background-color: #ECF4D7;
    font-size: 11px;
    font-weight: bold;
    color: #000000;
    padding: 3px;
    text-align: right;
}
.chcA a {
    font-size: 10px;
}
</style>
<!-- ENDE CSS-Style fuer chCounter -->
'
;

?>




EDIT: Die obigen Änderungen sind nur notwendig, wenn der Template-Code vom Generator verwendet wird.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

GerhardSt

Hallo,
hat schon wer versucht den Counter unsichtbar einzubinden?
Man soll dazu einfach aus $chCounter_visible = 1; $chCounter_visible = 0;machen.
Wenn ich das in meiner functions.php so abändere, bekomme ich immer
ZitatNotice: Undefined variable: chC_counter_output in F:\xampp\htdocs\html\themes\Mein-Theme\functions.php on line 549
angezeigt.
In dieser Zeile steht bei mir     return $chC_counter_output;

Was mache ich da falsch?

Danke, Gerhard

siggi

ZitatNotice: Undefined variable: chC_counter_output

Durch den Schalter  $chCounter_visible = 0; wird die Variable $chC_counter_output
offensichtlich nicht definiert. In diesem Fall vorher die Variable mit $chC_counter_output = "";
definieren, damit diese Warnung verschwindet.
;)
Wenn man an Gras zieht wächst es auch nicht schneller.

GerhardSt

Danke siggi :thumbup:

Das sollte man vielleicht auch hier in der Einbauanleitung anpassen.

breakdancer

Hi,

wie sieht es denn mit dem Einbinden per Array aus ?

Ich würde gerne, nachdem ich die Variable schon in die theme.html eingebunden habe, jetzt die bei mir vorhandene func.inc.php entsprechend abändern und zwar dann ebenfalls per array.

Der Counter ist ansonsten soweit eingebunden, müsste also funktionieren, aber vielleicht kann mir mal jemand den array zusammenbasteln, der hier hingehört.

So ist ja die ursprüngliche Definition:

$part[] = array("{CHCOUNTER}", mx_ChCounter());

...und so sieht die stelle aus, an der ich die Definition einfügen möchte:

$arr['formated']['body'] = ($arr['aid']==$arr['informant'] ? $arr['hometext']."<br />".$arr['bodytext']."<br />".$notes : $foo." "._WRITES.": ".$arr['hometext']."<br />".$arr['bodytext']."<br />".$notes); 

Wie bekomme ich das denn nun hin ? Auf schattenbaum.net und auf www.de.php.net sehen die Arrays ja komplett anders aus...

Vermutlich muss ich, ist das Array dann definiert, auch die Variable {CHCOUNTER} entsprechend ersetzen ?

Liebe Grüße

Markus

breakdancer

Das Teil hier steht ja noch offen, etz sind ja dei Feiertage rum und vielleicht hat ja mal jemand Zeit, sich damit zu beschäftigen.

Die Einbindung des Counters wäre halt enorm wichrig für mich.

Liebe Grüße

markus

breakdancer

Letzter Versuch...  :red:

Mag sich das hier mal jemand antun ? :-)

Geht ja erstmal nur um die Array-Umschreibung, denke ich...

Liebe Grüße

Markus

Sir-Mike

Hallo breakdancer,

ich kann dir bei diesem Problem zwar grad nicht helfen, aber bis du eine loesung hast solltest du das Script von deiner Seite loeschen oder deaktivieren. Sieht nicht so toll aus unten links in der ecke eine Variable zusehen.
Ist mir nur so aufgefallen.

Gruss aus Canada
Sir-Mike
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.

breakdancer

Uups,

ja das ist mir schon öfters aufgefallen und ich hab´s immer rausgeschoben... Und mit der Zeit vergißt man es dann...

Wird jetzt dann erledigt, es sieht ja echt verboten aus.

Danke für den Hinweis !

LG

Markus