slogan

Open Search - Einbindung von time4joomla in das Suchenfeld des Browsers - und so funktioniert es: Open Search

Eigene Fehlerseiten

Es gibt zwei Möglichkeiten - Möglichkeit I

Die von Joomla verwendete Fehlerseite findet man hier:
/templates/system/error.php

Um eine eigene Fehlerseite zu erstellen, einfach eine neue PHP-Datei mit dem Namen error.php erzeugen und im verwendeten Templateverzeichnis abspeichern:
/templates/MeinTemplate/error.php

Diese Fehlermeldung kann man nun gestalten, wie man möchte. 

Leider werden die Modulpositionen nicht verwertet, so dass man die vorhandenen Menüs,etc. nicht benutzen kann.
Der Fehlercode wird mit dieser Zeile erzeugt:

<?php echo $this->error->code ?> - <?php echo $this->error->message ?>

Also der erste Teil für die Fehlernummer und der zweite Teil für den Fehlertext.

Wer eigene Fehlerseiten erstellt, sollte daran denken, dem User auch die Möglichkeit zu geben, wieder zur eigentlichen Seite zurück zu gelangen.

Mit der Datei error.php im eigenen Templateverzeichnis wird technisch die vorhandene im System-Verzeichnis überschrieben. Fachausdruck für diesen Vorgang bei Joomla: es findet ein Override statt. Deswegen ist es wichtig, dass die eigene Fehlerseite "error.php" heißt - sonst wird nichts überschreiben und die Defaultseite aus dem System-Verzeichnis wird genommen.

Diese bitte nicht löschen, sondern lediglich kopieren! Befindet sich ein User aus unerfindlichen Gründen nicht im Template, wird stets die Default-Errorsite genommen!

 

Möglichkeit II

Zunächst die Original-Error.php sichern.
Dazu im Verzeichnis /templates/system/error.php am einfachsten die error.php umbenennen (z.B. in error.php-dist).
Dann eine neue error.php erstellen mit folgendem Code:

<?php
/** Eigene Fehlerseite. */
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
switch ($this->error->code ) {
 case '404': // Seite nicht gefunden
 JApplication::redirect("404.html");
 break;
 case '403': // Zugriff verweigert
 JApplication::redirect("403.html");
 break;
 default: // Vermutlich ein 500er Fehler.
 echo "<html><head><title>Insert title here</title></head>"
 ."<body><h1>Error".$this->error->code."</h1>"
 ."<p>Es ist ein schwerer Fehler aufgetreten."
 ." Bitte informieren Sie die Systembetreiber.</p></body></html>";    
}
?>

Die genannten Fehlerseiten (404.html und 403.html) können ganz einfach als Beitrag erzeugt werden. Wenn SEO eingeschaltet ist, können die Dateien so heißen, wie genannt. Bei ausgeschalteten SEO muss dann der genaue Aufruf angegben werden.

Der Vorteil bei dieser Technik ist, dass zum einen die Fehlerseiten bequem im Beitragsbereich verwaltet werden können und das Template, mit allen Modulpositionen übernommen wird, weil es sich letztlich um einen ganz einfachen Joomla-Beitrag handelt.





  • Mirko Markowski

    Geschrieben am 2011-09-28 13:33:31

    Hallöchen,
    deine 2. Lösung bezüglich der Fehlerseite finde ich sehr elegant.
    Leider funktioniert diese unter 1.7 nicht. Ich bekomme da immer eine Fehlermeldung.
    Kann man den Code für 1.7 umarbeiten?

    Mirko

    Auf Kommentar antworten

    • time4joomla

      Geschrieben am 2011-09-30 17:46:59


      Kann man den Code für 1.7 umarbeiten?

      Habe diese Frage zum Anlass genommen ein Tutorial zu den "eigenen Fehlerseiten in J!1.7" tz schreiben, welches man unter "Joomla 1.7/Tipps & Tricks" findet.


      Axel

      Auf Kommentar antworten

Veroeffentlichen Sie ihre Kommentare ...

Suchen Sie einen Webhoster? time4joomla empfiehlt: www.Joomlahosting.de
Joomla ist ein freies CMS - Webdesign, Programming and Content by time4mambo
PR nur für diese Seite: SEO Tools

nach oben scrollen

www.time4joomla.de is not affiliated with or endorsed by the Joomla! Project or Open Source Matters. The Joomla! name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.