phpbar.de logo

Mailinglisten-Archive

[php] PHPLib Templates in Mysql und die Dateien auch!

[php] PHPLib Templates in Mysql und die Dateien auch!

Jens Olscher jens.olscher_(at)_dingoblue.com.au
Thu, 24 Aug 2000 14:10:38 +1000


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