Problem mit Klassen
Started by: max (guest)
On: 1231254042|%e %b %Y, %H:%M %Z|agohover
Number of posts: 3
rss icon RSS: New posts
Summary:
Listings aus Kapitel 12.18 - 12.21
Problem mit Klassen
max (guest) 1231254042|%e %b %Y, %H:%M %Z|agohover

Hallo,

ich bin gerade dabei, mit Hilfe des Buches, meine erste Seite zu erstellen.
Das Design habe ich ohne größere Probleme hinbekommen und wollte es jetzt als Template für weitere Seiten benutzten. Das habe ich dann so wie in Kapitel 12 Kapitel 12 gemacht, funktioniert auch soweit alles.

Zwei Probleme traten aber auf mit der "error"-Seite.
1. Wenn man z.B. http://localhost/test/linkweb.php?page=eine_seite_die_nicht_vorhanden_ist aufruft, wird einfach das Template ohne Inhalt (es existiert ja auch kein Inhalt) angezeigt.
Das konnte ich aber Lösen indem ich eine weitere If-Abfrage (in der linkweb.php) hinzugefügt habe, die überprüft ob der Name "eine_seite_die_nicht_vorhanden_ist" im Array vorkommt, wenn die Seite nicht vorhanden ist, hat $get_page den Wert "fehler" und der Fehlerinhalt wird in das normale Template eingetragen.

Jetzt zum eigentlichen Problem
2. Ich verstehe nicht ganz den Sinn oder Nutzen der class.error.php und der error.tpl.
Die Error-Seite wird nur angezeigt, wenn die Template-Datei leer oder nicht vorhanden ist. Die Template Datei wird, aber von mir eingetragen (also nicht vom Benutzter) und sollte deshalb auch immer vorhanden sein? Außerdem erscheint die Fehlermeldung Fatal error: Call to undefined method stdClass::set_var() in C:\xampp\htdocs\test\class.error.php on line 20, wenn man einen falschen Dateinamen für $main_template->template_file angibt.

Habe das "1. Problem" mit aufgeschrieben, weil ich erst dachte die error.tpl und class.error.php sei genau dafür (der Benutzer gibt einen Falschen Parameter für page an).

Ich hoffe hier schaut nochmal einer vorbei der mir sagen kann ob man die error.tpl und class.error.php wirklich braucht. Ob die Lösung für mein erstes Problem wirklich sinnvoll war, oder ich das besser über die error.tpl und class.error.php hätte realisieren sollen. Und was ich gegen die Fehlermeldung tun kann.

lg,
max

unfold Problem mit Klassen by max (guest), 1231254042|%e %b %Y, %H:%M %Z|agohover
Re: Problem mit Klassen
StefanMStefanM 1232272734|%e %b %Y, %H:%M %Z|agohover

Hallo Max

Du hast völlig Recht. Die error-Klasse ist in dem Stadium, in dem sich das Content-Building-Set befindet, relativ überflüssig. Sie ist eher dazu gedacht, um aufzuzeigen, wie man, wenn man das Set um weitere eigene Funktionen und andere Klassen erweitern möchte, Fehler auf eine eigene Fehlerklasse lenken kann. Du hast auch Recht, dass die Fehlerklasse ihren Output eigentlich kein eigenes Template benötigt. Wahrscheinlich ist es besser, einfach eine Extra-Seite im Standard-Layout zu definieren, die den [%messsage%]-Platzhalter enthält, und in der Fehlerklasse diese Seite aufzurufen.

viele Grüße
Stefan Münz

unfold Re: Problem mit Klassen by StefanMStefanM, 1232272734|%e %b %Y, %H:%M %Z|agohover
Re: Problem mit Klassen
max (guest) 1231254543|%e %b %Y, %H:%M %Z|agohover

Hier nochmal die Listings (auf die ich auch Verlinkt habe) zum Testen.

unfold Re: Problem mit Klassen by max (guest), 1231254543|%e %b %Y, %H:%M %Z|agohover
New post
page_revision: 2, last_edited: 1208468043|%e %b %Y, %H:%M %Z (%O ago)