phpbar.de logo

Mailinglisten-Archive

[php] PHPLib > Templates

[php] PHPLib > Templates

Joerg Behrens php_(at)_phpcenter.de
Wed, 23 Oct 2002 16:05:42 +0200


----- Original Message -----
From: "Olaf Gleba" <list_(at)_creatics.de>
To: <php_(at)_phpcenter.de>
Sent: Wednesday, October 23, 2002 3:46 PM
Subject: [php] PHPLib > Templates


> Tach,
>
> nachdem ich jetzt stundenlang in den doc`s und im Netz gesucht habe müsst
> doch ihr wieder dran glauben...
>
> Ich habe, u.a dank eurer Hinweise, den Install der PHPlib hier lokal zum
> Testen angegangen. MacOSX, PHP 4.2.3, mysql 3.23.39
>
> Die php.ini läuft (vorläufig) mit register_globals = On, track_vars,
> magic_quotes_gpc ebenfalls und der auto_prepend_path ist übergreifend hier
> in der php.ini gesetzt,  include_path ebenfalls.
>
> Alles läuft, kann angesprochen werden, DB connect etc.. Wunnebar.
>
> Nur mit der Templates Funktionalität komme ich nicht zu Rande.
>
> Was ich habe:
> - ein probe.htm ( die Template Datei, in der im die Platzhalter definiert
> sind)
> - ein tbl_code.php (Script in dem die Generierung abläuft)
>
> Pfade:
> tbl_code.php = Gleiche Verzeichnis wie sämtliche .inc Dateien der PHPLib
> (heißt hier: "php"); parallel zum Server Root Verzeichnis (heißt hier:
> Documents)
>
> probe.htm = Liegt in dem Unterverzeichnis "/templates" im Document Root
>
> tbl_code.php:
> <?php
> include "template.inc";
> $varprobe = "hier der text";
> $t = new Template ("/Library/WebServer/Documents/templates");
> $t->set_file("dashandle", "probe.htm");
> $t->set_var("TITEL" ,$varprobe);
> $t->parse("MyOutput", "dashandle");
> $t->p("MyOutput");
> ?>
>
> probe.htm:
> <html>
> <head>
> <titel>Probe</title>
> </head>
> <body>
> <h2>{TITEL}</h2>
> </body>
> </html>
>
>
> Funktioniert nicht. Kann es meiner Meinung nach auch nicht. Wenn ich
> "probe.htm" aufrufe, ohne irgendeinen Verweis auf die tbl_code.php - wie
> soll das gehen ?!?
> Include ich diese Datei bekomme ich, ebenso verständlich auch nur
folgenden
> Error: "Fatal error: Cannot redeclare class template in
> /Library/WebServer/php/template.inc on line 12" da ich die "template.inc"
> schon in der "prepend.php3", die ja global über die php.ini eingebunden
ist

Entferne include "template.inc"; .. es reicht wenn es einmal in der
prepend.php3 gesetzt wird. Um den Fehler zu uebergehen koennten man
natuerlich include_once nehmen.

Benenne mal deine tbl_code.php nach artikel.php um. Diese rufst du dann
ueber den Browser auf und nicht deine probe.htm. Deine proble.htm nennst du
auch besser probe.ihtml oder proble.tpl . Kann man dann auch gut ausserhalb
des Dokumentenroots speichern.

Ansonnsten siehtst ganz gut aus. Das mit den Bloecken machen wir dann morgen
:)

Gruss
Joerg Behrens

--
TakeNet GmbH                        Mobil: 0171/60 57 963
D-97080 Wuerzburg                 Tel: +49 931 903-2243
Alfred-Nobel-Straße 20            Fax: +49 931 903-3025


php::bar PHP Wiki   -   Listenarchive