Suchbegriff eingeben
Auf jeder Webseite kann es bei der Auslieferung von einzelnen Contents zu Problemen kommen. Eine URL wurde falsch angegeben oder ein User will auf eine Seite zugreifen, für die er keine Zugriffsrechte hat. Drupal gibt in solchen Fällen eine kurze, standartisierte Meldung für einen 403 bzw. 404 Fehler aus. Das Script wird zwar ausgeführt, wenn ein User keine Zugriffsrechte besitzt, aber die Fehlermeldungsseiten sind nicht sonderlich ansprechend dargestellt.
Da der User in den meisten Fällen nicht weiß, warum die Anzeige nicht funktioniert, ist er enttäuscht und verläßt die Webpräsenz. Wer solche User nicht verlieren will, hat die Möglichkeit die Darstellung von Fehlermeldungen selbst zu gestalten, denn schon mit ein wenig Aufwand läßt sich die Absprungrate deutlich reduzieren.
Drupal bietet hierzu die Möglichkeit Fehlermeldungsseiten selbst zu gestalten. Über " http://example.com/admin/settings/error-reporting " ("example.com" ist hier nur ein Platzhalter, den Sie durch Ihren Domainnamen ersetzen müssen) gelangen Sie zu den Einstellungen für Fehlermeldungen.
Dort können Sie neben anderen Einstellungen auch eigens gestaltete Fehlermeldungsseiten eintragen.

Die Fehlermeldungsseite wird wie jede andere Seite angezeigt, d.h. auch die Seitenleisten werden ganz normal dargestellt. Eine Fehlermeldungsseite selbst zu gestalten macht Sinn, wenn Sie beispielsweise eine Benutzerverwaltung eingebunden haben. Dann haben Sie die Möglichkeit auf die Anmeldung zu verweisen, falls dies nicht offensichtlich ist. Ein Beispiel für eine solche Anzeige finden Sie im Anzeige Drupal-Center (Link).
Falls Sie für den Admin-Bereich ein anderes Template verwenden, kann es sinnvoll sein auf dieser Seite zur Hauptseite zu verlinken, weil ein Besucher ansonsten keine Möglichkeit hat, einen funktionierenden Link zu benutzen. Beispiel: Anzeige Gartenpflege-Tipps (Link)

Bei dieser Seite wird nur der Kopf- und Content-Bereich der Seite angezeigt, d.h. eventuelle Seitenleisten werden ausgeblendet. Beispiel: Fehleranzeige Drupal Center (Link)
Dies kann je nach Design sehr unschön aussehen. Eine Lösungsmöglichkeit ist ein separates CSS-File nur für diese Seite zu entwerfen. Dies können Sie einfach per Block einbinden - http://example.com/admin/build/block/add - ("example.com" durch Ihren Domainnamen ersetzen) und so einstellen, daß dieser Block nur auf der Seite für Fehler 404 angezeigt wird.
Tipp: Wenn Sie ebenfalls die Blöcke in der rechten und linken Seitenleiste für die Fehler-Seite 404 ausblenden, dann sieht die Seite in der normalen Ansicht - http://example.com/node/404 - ("example.com" durch Ihren Domainnamen ersetzen) genauso aus, wie bei einem fehlerhaften Seitenaufruf.
Als Eingabeformat wählen Sie PHP Code und fügen folgendes php-snippet ein:
<?php
print '<style type="text/css" media="all">@import "' .
base_path() . path_to_theme(). '/error404.css";</style>';
?>
"error404.css" ersetzen Sie mit dem Namen Ihres CSS-Files. Das CSS-File kopieren Sie in den Ordner, in dem die CSS-Files für Ihr "theme" liegen.
Nützlich ist natürlich auch, wenn ein Seitenbetreiber von fehlerhaften Links erfährt, um sie korrigieren zu können. Entweder hat man selbst einen fehlerhaften Link auf der eigenen Seite eingebaut oder externe Seiten haben fehlerhafte Links auf Ihre Seite gesetzt. Manchmal verlinkt man auch auf Seiten-URLs die mittlerweile geändert oder entfernt wurden. Als Seitenbetreiber ist man natürlich froh, von solchen fehlerhaften Verknüpfungen zu erfahren.
Hierfür können Sie - wie auf den Beispielseiten von drupalcenter.de (siehe oben) - einen Link zum Kontaktformular einbinden. Oder Sie binden einen Link ein, über den man Sie per E-Mail informieren kann. Um die Hürde möglichst gering zu halten, können Sie alle wichtigen Daten wie die aktuelle Seite und die Seite, von der der User auf Ihre Seite kam in die E-Mail mit einfügen. Dafür ist dann ein bißchen php hilfreich:
Mit
$_SERVER["HTTP_REFERER"]
erfahren Sie die URL, auf der der User war, bevor er auf Ihre Seite kam. Das kann eine Ihrer eigenen Seiten sein, oder eine externe Website.
Mit
$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]
erfahren Sie die Seiten-URL, die der User aufgerufen hat.
Den folgenden Code geben Sie in das Textfeld der node ein. Falls Sie einen Editor eingebunden haben, in die Quellcode-Ansicht. Das benötigte Eingabeformat ist PHP Code.
<?php
print '
<p>Die angeforderte Seite konnte nicht gefunden werden.
Bitte klicken Sie auf folgenden Link:</p>
<p><strong><a href="/">'.$_SERVER["HTTP_HOST"].'</a></strong></p>
<p>Gerne können Sie uns die nicht gefundene Seite melden:
<a href="mailto:webmaster@example.com?subject=Fehlerhafter%20Link%20auf%20'.
$_SERVER["HTTP_HOST"].
'&body=Hallo,%0D%0A%0D%0Aauf%20der%20Seite%20'.
$_SERVER["HTTP_REFERER"].
'%0D%0Aist%20folgender%20fehlerhafter%20Link:%20http://'.
$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"].
'">Fehlerhaften Link melden!</a>
</p>
';
?>
Den rot markierten Teil ersetzen Sie bitte mit Ihrer E-Mail-Adresse. Den Text (blau markiert) können Sie beliebig ändern. Folgende Zeichen dienen zur Formatierung der E-Mail:
%0A neue Zeile%0D Wagenrücklauf%20 Leerzeichen
Mehr zur Gestaltung der E-Mail können Sie bei SELFHTML - Optionen bei E-Mail-Verweisen (Link) - nachlesen.
Wenn Sie die Fehlermeldungsseite ändern, müssen Sie den cache leeren, um die aktuelle Version angezeigt zu bekommen. Falls Sie nicht wissen, wie Sie das machen können, kann ich Ihnen das Modul Devel (Link) empfehlen. Es stellt einen Block zur Verfügung, über den Sie einfach per Link den cache leeren können.

Der Empfehlung von Drupal Fehler nur ins Protokoll zu schreiben, schließe ich mich an. Pfadangaben, script-Details sind nur für Hacker interessant und genau denen sollte man diese Informationen nicht geben ;-)

Entscheiden Sie hier je nachdem, wie oft Sie eine Seite kontrollieren können oder möchten.
"Benötigt crontab" meint, daß das Protokoll regelmäßig vom Unix-Programm "crond" gelöscht wird. Dafür müssen Sie einen "cronjob" einrichten. Falls Sie das nicht können, weil dies beispielsweise Ihr Provider nicht zuläßt, können Sie das Modul Poormanscron (Link) verwenden. Es simuliert quasi den cron-Daemon und führt alle Aktionen aus, die normalerweise der cronjob macht.
Viel Erfolg beim Gestalten Ihrer Fehlermeldungsseiten in Drupal!
Wert 4.1 |
Thema: 4.3 | Information: 4 | Verständlichkeit: 4 |
| Stimmen: 3 | Legende: 5: super - bis 1: erträglich |
||
| Views: 5924 | |||
Keine Beiträge vorhanden.