Moin,
Laut Tutorial kann ich auch eigene Skripte in Jlog integrieren. Das möchte ich gerne und zwar seitenspezifisch.
Dafür dass das geht, spricht zunächst einmal diese Seite. Ich habe das o.g. Tutorial auch x-fach gelesen, aber ich verstehe es einfach nicht.
Ich schließe daraus, dass du eigene Skripte wie meine Pinnwand in Jlog einbinden möchtest, d.h. eigentlich: Du möchtest Jlog in eigene Skripte einbinden ;-)
Wo(!) kann ich das externe Script einbauen?
Und wie und warum ist das dann einer bestimmten Seite zugeordnet?
Am Besten erkläre ich das vielleicht an Hand eben dieses Beispiels: Wichtig ist zu Beginn des Skripts index.php das Inkludieren der globalen Jlog-Einstellungen aus der personal/settings.inc.php. Der Inhalt, den Jlog schließlich darstellt, stammt aus dem Array $c
, und zwar der Seitentitel aus $c['meta']['title']
. Der komplette Seiteninhalt, den Jlog im div mit der Id »main« darstellt, wird aus $c['main']
genommen.
Mit dem Einbinden der Datei scripts/do_template.php wird schließlich der komplette HTML-Inhalt der Seite erstellt und in der Variablen $body
abgelegt; daher auch das echo $body;
am Ende der Beispieldatei.
Die .htaccess von Jlog ist so eingestellt, dass direkte Aufrufe von tatsächlich vorhandenen Dateien nicht mit Jlog, sondern vom Webserver bearbeitet werden; lediglich Ressourcen, die so nicht im Dateisystem existieren, werden an Jlog weitergereicht. Das heißt in unserem Beispiel: Aufrufe der /pinnwand/ werden vom Webserver bearbeitet, der die index.php findet und diese Datei vom PHP-Interpreter ausführen lässt. Aufrufe einer nicht im Dateisystem existierenden Ressource wie z.B. /2008/12/weihnachten werden hingegen an Jlog weitergereicht.
D.h. zusammengenommen: Du erstellst dein Skript als PHP-Datei – unter dessen URI ist dieses Skript dann erreichbar. In diese PHP-Datei baust du das „Jlog-Grundgerüst“ ein: am Anfang die personal/settings.ing.php, am Ende die scripts/do_template.php gefolgt von echo $body
.
Ich hoffe, den Mechanismus verständlich erklärt zu haben, ansonsten frag weiter ;-)
Viele Grüße,
Robert