Page 1 of 1

serendipity_getTotalEntries

Posted: Wed Apr 15, 2009 8:46 pm
by Ansgar
Hiho!

Ich betreibe mehrere s9y-Installationen nebeneinander: auf der top-domain und auf mehreren Sub-Domains. Von der Hauptinstallation aus gibt es Verweise auf die Subdomains. Hinter den Verweisen würde ich gerne die Zahl der Einträge angeben. Also ähnlich, wie man es auch von den Kategorie-Zählern gewohnt ist.

Ich habe schon herausgefunden, dass die Funktion serendipity_getTotalEntries() dafür zuständig ist, aber wenn ich die anwende, dann kommt nur "don't hack!" dabei heraus...

Was tun?

LG
Ansgar

Re: serendipity_getTotalEntries

Posted: Wed Apr 15, 2009 9:00 pm
by Ansgar
Ha, so einfach geht das: einfach ne Frage ins Forum posten, und Minuten später kommt die rettende Eingebung:

In include/functions_entries.inc.php folgende Zeile suchen:

$totalPages = ceil($totalEntries / $limit);

danach folgenden Code einfügen

### counter schreiben ###
$datei = fopen("/kunden/#######/subdomains/GastroGuide/entry-counter.txt","r+");
fwrite($datei, $totalEntries);
fclose($datei);

und im root-Verzeichnis die entry-counter.txt erstellen und Schreibrechte geben.

...und schon hat man ne Counter-Datei, mit der man weiterarbeiten kann!

LG
Ansgar

Re: serendipity_getTotalEntries

Posted: Thu Apr 16, 2009 9:52 pm
by Ansgar
Korrektur: man muss folgdenen Code einbauen:

$url = $_SERVER['REQUEST_URI'];
if ($url == "/") {
### counter schreiben ###
$datei = fopen("/kunden/+++++++/subdomains/GastroGuide/entry-counter.txt","r+");
fwrite($datei, $totalEntries);
fclose($datei);
}

Durch die Abfrage der Server-Variable wird sichergestellt, dass der Counter nur gesetzt wird, wenn die Hauptseite angezeigt wird. Der Footer wird ja nicht nur bei der Hauptseite, sondern auch bei einer Kategorie-Ansicht etc. angezeigt, wodurch sonst ein falscher Counter-Wert gesetzt werden würde.

LG
Ansgar.