serendipity_getTotalEntries

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
Ansgar
Regular
Posts: 28
Joined: Wed Apr 15, 2009 8:42 pm

serendipity_getTotalEntries

Post 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
Ansgar
Regular
Posts: 28
Joined: Wed Apr 15, 2009 8:42 pm

Re: serendipity_getTotalEntries

Post 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
Ansgar
Regular
Posts: 28
Joined: Wed Apr 15, 2009 8:42 pm

Re: serendipity_getTotalEntries

Post 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.
Post Reply