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
