Wenn ein Besucher Ihrer Website eine Seite aufruft die nicht existiert, bekommt er eine Fehlermeldung, die - zugegeben - unter Joomla recht unschön aussieht. Eine eigene Fehlerseite schafft hier Abhilfe und kann sehr leicht realisiert werden, denn es existiert schon eine namens error.php, die Sie einfach kopieren und editieren können.

joomla-fehlerseite


Bevor es ans Editieren geht sollte man sich fragen, wie eine Fehlerseite eigentlich aussehen und welche Funtkionalität sie besitzen soll.


Ein guter Aufbau


Eine Fehlerseite (Demo) sollte den Besucher niemals zurechtweisen. Schließlich kann er nichts dafür, das eine Seite nicht existiert oder ein interner Serverfehler aufgetreten ist. Folgende Anforderungen sollte eine gute Fehlerseite erfüllen:
  • Minimalistische Gestaltung. Halten Sie sich mit Texten und Bilder zurück und schreiben Sie nur das Nötigste. Weniger ist hier mehr.
  • Link zur Startseite. Schreiben Sie mit klaren Worten wie man zur Startseite Ihrer Website kommt und setzen Sie ein Link dorthin. Ein zusätzlicher Link, wie z. B. das Logo, ist hilfreich, sollte aber nicht alleine stehen, um zur Startseite zu gelangen.
  • Eine Suche. Bieten Sie dem Besucher direkt eine Suche an. Er will sicherlich Ihre Seite nicht nur mal so besuchen, sondern kommt, weil er eine Spur verfolgt, eine Information sucht. Diese Info kann er vielleicht mit einer Suche finden.
Benutzen Sie keine Fachausdrücke. Meine Mutter, 55 Jahre alt, kann z. B. mit dem Hinweis "Error 404" nichts anfangen.


Die Fehlerseite error.php


Die Standard-Fehlerseite, auf die Joomla zurückgreift wenn ein Fehler auftritt, liegt im Joomla-Verzeichnis unter

templates/system/error.php

Diese Datei können Sie einfach in Ihr aktives Template-Verzeichnis kopieren - gleiche Ebene wie die index.php - und für Ihre eigenen Zwecke umschreiben. Öffnen Sie die error.php mit eine Editor Ihrer Wahl und löschen Sie im ersten Schritt alles zwischen < body > und < / body >. Nun können Sie mit einfache HTML-Anweisungen die Fehlerseite beschreiben, z. B. so:

1
2
3
4
5
6
7
8
9
10
11
<div align="center">
<div id="error">
<a href="http://www.ihredomain.de">
<img src="templates/ihrtemplate/images/logo.png" />
</a>
<br /><br />
Es ist ein Fehler ist aufgetreten.
<br />
Hier geht's zur <a href="http://www.ihredomain.de">Startseite</a>.
</div>
</div>

 

Der Fehlercode 404 wird ausgegeben, wenn eine Seite nicht existiert. Um das für unsere Zwecke auszunutzen können wir mit einer PHP-Anweisung eine Ausgabe dafür steuern.

 

1
2
3
4
5
if (($this->error->code) == '404') { 
echo 'Die Seite existiert nicht (Fehler 404).';
} else {
echo 'Ein Fehler ist aufgetreten.';
}

 

Eine gute Website bietet dem Besucher eine Suchfunktion. Wenn die Suche nicht vorhanden ist, sollte man jetzt im Backend von Joomla ein Suchmodul anlegen, denn das wollen wir in der Fehlerseite einbinden. Leider geht das nicht so komfortable mit einer jdoc-Anweisung wie in der index.php. Der folgende Code läßt uns dennoch die Suche in der error.php implementieren:

1
2
3
$module = new stdClass();
$module->module = 'mod_search';
echo JModuleHelper::renderModule($module);

 

Abspeichern. Fertig. Insgesamt dürfte der Code dann so aussehen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24











 


Hier geht's zur Startseite.


 

 

 

Hier ist die Demo dieser Seite: Die Fehlerseite von Bloggerschmidt.

Alexander Schmidt

Alexander Schmidt

Alexander Schmidt ist Webentwickler und Buchautor. Er lebt mit seiner Familie in Bad Nauheim / Hessen. Seit 2005 realisiert er als Einzelunternehmer Websites mit Joomla und ist fasziniert von der Template-Engine des Content Management Systems.

Website: www.templates4joom.la E-Mail-Adresse: Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können.

6 Kommentare

  • Kommentar Link b2m Donnerstag, 01. Oktober 2009 um 12:55 Geschrieben von b2m

    Hi

    die error.php von Joomla! entspricht leider nicht einer exakten 404-Seite, da:
    1. alle Fehler darüber abgearbeitet werden
    2. häufig etwas schlampig Fehler als 404 ausgewiesen werden, auch wenn es sich um ganz andere Probleme handelt.

    Das sieht man auch schon an der Standard-Fehlermeldung in der unter anderem auch "Sie haben keinen Zugriff zu dieser Seite!" und "Während Ihrer Anfrage ist ein Fehler aufgetreten!" als möglicher Grund des Fehlers angegeben ist.

    Die Idee sich eine individualisierte Fehlerseite für Joomla! zurecht zu basteln, wo der User dann auch ausführlichere Erklärungen (http://www.alistapart.com/articles/amoreuseful404/) zu dem Fehler bekommt hatte ich auch schon, aber letztendlich ist es daran gescheitert, dass ein 404 unter Joomla! (zu dem Zeitpunkt) nicht immer auch ein 404 war.

    Gruß b2m

    Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können.
  • Kommentar Link Markus Donnerstag, 01. Oktober 2009 um 13:53 Geschrieben von Markus

    Hi,

    eigentlich dachte ich: Okay schaun mer mal was ich für eine 404 Seite hier bekomme und hab den Link zu diesem Artikel mal ein wenig "erweitert":

    http://www.bloggerschmidt.de/blog/item/16-ei666gene-feh777lerseiten-unter-jooomla.html

    Komme aber trotzdem wieder zu diesem Artikel hier. Bei so einem Service brauch man keine 404 Seite mehr :)

    Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können.
  • Kommentar Link b2m Donnerstag, 01. Oktober 2009 um 14:22 Geschrieben von b2m

    Hi

    @Markus: hihi - http://www.bloggerschmidt.de/blog/item/16-joomla-ist-doof.html
    Das bietet ja ganz neue Möglichkeiten!

    Gruß b2m

    Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können.
  • Kommentar Link Alexander K. J. Schmidt Donnerstag, 01. Oktober 2009 um 14:51 Geschrieben von Alexander K. J. Schmidt

    Danke für eure Feedback. Lustige Sache mit der URL. Wichtig ist wohl nur die ID des Artikels - hier die 16. Nimmt man die 6 weg, kommt man zum ersten Artikel dieses Blogs. Joomla SEF und K2 machen's möglich.

    @b2m die error.php könnte man in der Tat etwas fehlerspezifischer gestalten. Ich schau mir mal den Vorschlag von alistapart genauer an. Vielleicht kann man da ja was machen.

    Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können.
  • Kommentar Link calimero Samstag, 03. Oktober 2009 um 12:54 Geschrieben von calimero

    Guter Ansatz.
    Eigentlich wäre eine error page wie Sie sh404SEF produziert, noch hübscher. Also als normale Contentseite ins Design eingepasst.

    Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können.
  • Kommentar Link Milton Pfenninger Montag, 07. Dezember 2009 um 13:55 Geschrieben von Milton Pfenninger

    Ich habe eine Komponente namens Errors2Site entwickelt, mit dem Fehlerseiten schnell erstellt und veröffentlicht werden können.

    Die Erweiterung ist nicht kommerziell und kann unter dem folgenden Link herunter geladen werden:

    http://www.webconstruction.ch/de/produkte/downloads/errors2site.html

    Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können.

Neuer Kommentar