Mailinglisten-Archive |
Hallo Liste! Ich habe auch eine Frage zu PHPLib Templates (nicht dieselbe wie Sascha): Meine php Seite lebt in Mysql, von dort wird also eingelesen und dann eval()ed dieser Code: <PseudoCode> include("/..../template.inc"); $my_city = "Sydney"; #...oder Ulm??? $t = new Template("/blah/dir"); $t->set_file("outofdb01", "dbrecord_a"); # ja, soll aus db kommen, nicht filesystem! $t->setvar("stadt", "$my_city"); .... $t->parse("virtualout01", "outofdb01"); .... $t->set_file("outofdb02", "dbrecord_b"); # ebenfalls aus db! .... $t->parse("virtualout02", "outofdb02"); # hat Rueckreferenz auf outofdb01, siehe weiter unten $t->p("virtualout02"); </PseudoCode> dbrecord_a: In {stadt} EOF dbrecord_b: {virtualout01} und um Ulm und um Ulm herum EOF Was ich also jetzt moechte ist, dass dbrecord_a und dbrecord_b ebenfalls aus (z.Zt. derselben) mysql db gelesen werden. Solange sie als Dateien in /blah/dir existieren klappt alles bestens, aber ich moechte sie ueber eine db Abfrage ("SELECT inhalt WHERE seite="/blah/dir/dbrecord_a") erhalten, so dass Template UND Inhalt in db existieren und physikalisch kein Filesystem mehr da sein braucht... So kann dann die Designerin Zugriff auf eine Datenbank, die Texterin auf eine andere haben (die Programmiererin auf eine dritte, die...). Das muss doch machbar sein und mein Ansatzpunkt ist das "template.inc" der PHPLib, Zeile 303: 303: function loadfile($handle) { ...... 311: $str = implode("", _(at)_file($filename)); # dies scheint die Stelle zu sein, wo das File gelesen wird.. Wenn diese Zeile also ersetzt wird durch: 311n $str = implode("", GetPage($filename)); ...und die Funktion GetPage die Seite aus der Datenbank holt, das muesste doch klappen, oder? Klappt aber nicht, kann mir jemand sagen, ob a) mein Ansatz korrekt ist und b) vielleicht auch, wie die Funktion GetPage aussehen muesste? Oder sollte ich das Ganze total anders machen....? Jens
php::bar PHP Wiki - Listenarchive