PHP und externe Tenplates
Knuddelkind
- php
Hallo & guten Morgen!
Wer kann mir sagen, wie ich am besten in ein PHP-Script
a) ein Template einbinden kann
b) welcher Dateityp (txt oder htm) sich am besten eignet?
Ich möchte, zB bei einem Formmailer, dass die Daten aus dem
Formular, die als Variable ja bereits verfügbar sind, in ein
Template, welches sich in einer externen Datei befindet,
"eingebunden" und dann zusammen ausgegeben werden.
Mit readfile gehts nichts und bei include müsste ich ja die
Template-Datei selbst wieder mit php-Code "spicken", was genau
nicht sein soll (wenn machbar).
Wie kann das gehen?
Kann ich die Vorlage "einfach so" öffnen oder muss ich sie
irgendwie "umformen"?
Bitte gebt mir nen brauchbaren Denkansatz, irgendwoe seh ich
grad den Wald vor lauter Bäumen nicht mehr.
Danke!
Viele Grüsse
Euer Knuddelkind
Hi,
a) ein Template einbinden kann
Wenn der Inhalt unterschiedlich sein soll, dann mit fread(),
ansonsten mit require() oder include()
b) welcher Dateityp (txt oder htm) sich am besten eignet?
das ist völlig egal, sind ja sowieso nur Text-Daten... Windows-User
sind viel zu gebunden an Endungen ,))
Ich möchte, zB bei einem Formmailer, dass die Daten aus dem
Formular, die als Variable ja bereits verfügbar sind, in ein
Template, welches sich in einer externen Datei befindet,
"eingebunden" und dann zusammen ausgegeben werden.
meinst du etwas wie
<input type="typ" name="t1" value="<?php echo $t1; ?>">
? wenn ja, dann macht man das am besten so:
Man definiert ein Template mit dem Formular und so, z. B. so:
-------- template.dat ------------
<form name="myform" action="myaction.php" method="post">
<input type="text" name="inhalt[txt1]" value="[txt1]">
<input type="text" name="inhalt[txt2]" value="[txt2]">
<input type="text" name="inhalt[txt3]" value="[txt3]">
</form>
----------------------------------
Dann in der PHP-Datei:
------- template2html.php --------
<?php
$fd = fopen("template.dat","r");
$inhalt = fread($fd,filesize("template.dat"));
fclose($fd);
while(list($k,$v) = each($inhalt)
{
$inhalt = ereg_replace("[$k]",$v,$inhalt);
}
?>
<html>
<head>
<title>mein template-2-html-scripter</title>
</head>
<body>
<?php echo $form; ?>
</body>
</html>
Mit readfile gehts nichts und bei include müsste ich ja die
Template-Datei selbst wieder mit php-Code "spicken", was genau
nicht sein soll (wenn machbar).
Naja, man _muß_ das nicht, nur kann man die Werte dann nicht
übernehmen ,))
Wie kann das gehen?
Kann ich die Vorlage "einfach so" öffnen oder muss ich sie
irgendwie "umformen"?
require("vorlage.html");
"vorlage.html" kann dabei eine ganz stinknormale HTML-Datei sein.
mfg
CK1