Mit Sunlog mehrere Blogs füttern

Wie versprochen hier die Anleitung, wie man mit einer Sunlog-Installation mehrere Blogs füttern kann.
Das Ganze basiert darauf, ein Array mit Kategorien zu definieren, die im aktuellen Blog NICHT angezeigt werden sollen. Daher kann dieser Hack auch dazu verwendet werden, Einträge vorzubereiten und zu speichern, ohne sie noch anzuzeigen!

Dazu sind direkt in den Sunlog-Dateien einige Modifikationen nötig:

1. Zuerst muß man die Kategorien, die man dann ausblenden will, erst einmal in der Sunlog-Administration anlegen. Im Beispiel sind das die Kategorien „Hidden“ und „Privat“

2. In der Datei cfg/config.inc.php definieren wir etwa ab Zeile 22 (nach den ganzen restlichen Variablen) ein Array mit diesen Kategorien.

$nocat=array(
"Privat",
"Hidden");

Danach nehmen wir uns die Date index.php vor. Hier sollen die entsprechenden Einträge ausgeblendet werden. Dazu müssen folgende Zeilen eingefügt werden:

3. Nach unset($cats); (etwa bei Zeile 28) fügen wir folgende Zeile ein:

$show_entry = "1";

4. Nach if(!empty($cat_array[$i])){ (etwa bei Zeile 31) fügen wir folgende Zeile ein:

if (in_array ($cat_array[$i], $nocat)) { $show_entry = "0"; }

5. Nach <?php $foo=$date; } ?> (etwa bei Zeile 45) fügen wir folgende Zeile ein:

<?php if ($show_entry == "1") { ?>

6. Nun noch die eben geöffnete Klammer wieder schließen – dazu einfach eine zweite geschlossene geschwungene Klammer } vor include(„footer.inc.php“); ganz am Ende der Datei einfügen.

Nun die erforderlichen Änderungen in archiv.php. Dort werden ja die Kategorien normalerweise nicht mit ausgelesen.

7. Dazu ist folgender Block zweimal einzufügen:

$show_entry = "1";
$cat_array=explode(";",$cat);
for($i=0;$i

und zwar jeweils nach $title=stripslashes($title); (das erste mal etwa bei Zeile 111, das zweite Mal etwa bei Zeile 171 zu finden).

8. Zeile 115, die ursprünglich so aussieht

print($date.": <a href="entry.php?id=".$id."">".$title."</a><br />");

ist zu ersetzen durch

if ($show_entry == "1") {print($date.": <a href="entry.php?id=".$id."">".$title."</a><br />");}

9. Zeile 175, die derzeit so aussieht

if($monthstamp==$month){

ist zu ersetzen durch

if($monthstamp==$month && $show_entry =="1"){

10. Nun noch in der Datei categories.php die Zeile 11, die derzeit so aussieht

if(!empty($data[$i])){

ersetzen durch

if((!empty($data[$i])) && (!in_array ($data[$i], $nocat)) ){

Das wars - jetzt werden sowohl auf der Startseite als auch im Archiv Einträge der "verbotenen" Kategorien nicht angezeigt. Weiters werden diese Kategorien auch aus der Kategorieliste ausgeblendet. Nur entry.php zeigt die Einträge bei genauer Angabe der Eintragsnummer noch an (eine Vorschaumöglichkeit - man kann natürlich auch entry.php entsprechend patchen).
Nun kann man Sunlog in ein anderes Verzeichnis desselben Webservers überspielen (Voraussetzung: man muß von dort aus ebenfalls auf die Datenbank zugreifen können). Für diese Zweitinstallation muß man lediglich in der Datei cfg/config.inc.php die entsprechenden auszublendenden Kategorien definieren.

Diesen Beitrag teilen (bereits 0 Mal geteilt)

Ernst Michalek
Folgen:

1 Gedanke zu „Mit Sunlog mehrere Blogs füttern“

  1. Das ist klasse, das wollte ich schon lange! Bastel ich es jetzt nach oder hoffe ich, dass Andreas es offiziell einbaut? (Ich will ja nicht, dass es bei nächsten updaten wieder weg ist)

Schreibe einen Kommentar