Open Search - Einbindung von time4joomla in das Suchenfeld des Browsers - und so funktioniert es: Open Search
Eine Liste der verwendeten Erweiterungen findet sich im Impressum
Die Original-Fehlerseite liegt hier: /templates/system/error.php
Will man eine eigene Fehlerseite machen, legt man sich eine eigene error.php in seinem verwendeten Template-Verzeichnis an: /templates/MeinTemplate/error.php
Joomla greift zunächst stets auf die Dateien im eigenen Template-Verzeichnis zu. Die Systemdatei wird also quasi überschrieben mit der eigenen Datei.
Diese eigene error.php kann nach Belieben selbst gestaltet werden. Allerdings wird nur HTML-Code (und PHP-Code natürlich) erkannt. Modulpositionen hingegen werden nicht erkannt und ergo nicht dargestellt.
Man kann aber auch einen Beitrag anlegen mit dem Fehlertext und diesen direkt aufrufen bei einem Fehler und bleibt damit im Template des Webauftritts. Oder man kann natürlich auch ein neues Template wie gewohnt erstellen und das explizit diesem Beitrag zuweisen. Der Vorteil ist, dass man stets ein Template hat, dass alles bietet und kann, was für andere Beiträge auch gilt.
Der Beitrag, der erstellt wurde, muss nun noch einem Menü zugeordnet werden. Damit niemand die Fehlerseite per Menülink aufrufen kann, gibt es die Möglichkeit eines Schattenmenüs. Also eines Menüs, dass öffentlich arbeitet, aber niemand sieht.
Dazu legen wir zunächst ein neues Menü an:

Diesem Schattenmenü, dass ich in meinem Beispiel auch so genannt habe, weise ich jetzt meinen Beitrag zu. Also alles so, wie wir es immer machen. Allerdings positioniere ich kein Menümodul in meinem Template, das dass Schattenemnü beinhaltet. Ich ignoriere die Module komplett. Dadurch wird das Menü nirgends angezeigt, dennoch verweist es auf einen öffentlich zugänglichen Beitrag und ich kann dadurch diesen Beitrag ansprechen, in dem ich ihn explizit aufrufe in meiner error.php:
Dieser Code fragt zunächst die Fehlernummer ab. Liegt die zwischen 400 und 500 wird der Beitrag "404.html" aufgerufen. Und mit dem Beitragsaufruf wird praktischerweise auch das zugeordnete Template geladen. Wichtig ist, dass ihr vor der Site noch eure Domain schreibt und falls Joomla in einem Unterverzeichnis liegt, dann auch den Verzeichnisnamen mit angebt - also den absuluten Pfad. Macht ihr das nicht, wird der Dateinamen einfach hinter der aktuellen Aufrufadresse gehängt. Und wird eine URL mit einem Unterverzeichnis aufgerufen, kann die 404.html nicht geunden werden (Danke an Manfred für den Hinweis!).
Wobei "404" der Alias-Name des Menüverweises darstellt und bei eingeschalteten SEO dann das "html" angehängt wird. Wer nicht mit SEO arbeitet oder eine anderen URL-Aufbau hat, muss natürlich dann den Alias oder die entsprechende URL entsprechend in diese Datei eintragen.

Damit ich auch andere Fehler abfangen kann und nicht nur die "Seite nicht gefunden"-Fehler, habe ich im obigen Code noch eine zweite Fehler-Seite angegeben, die einen allgemeinen Text enthält und immer dann aufgerufen wird, wenn die Fehlernummer außerhalb 400 bis 500 liegt. Voraussetzung ist allerdings, dass der Fehler nicht so gravierend ist, dass überhaupt nicht mehr Joomla geladen wird. Wenn das passiert generiert der Webserver seine eigenen Fehlermeldungen.
Ich selber benutze die zweite Möglichkeit. Wer sich das mal anschauen möchte - hier wird eine Seite aufgerufen, die es nicht gibt:
Fehlernummern (Statuscode) und ihre Bedeutung
Eine Variante, die bei mir läuft:
Der Unterschied ist, dass ich die beiden Fehler 403 und 404 auswerte. 403 ist "unerlaubter Zugriff" und 404 "Seite nicht gefunden". Eine solche Liste kann man natürlich entsprechend fortführen. Dazu mal den Statuscode anschauen, den ich oben verlinkt habe.
Wenn ihr diesen Code kopiert, bitte nicht vergessen meinen Domainnamen auszutauschen mit eurem ;)
Meistens reicht das schon. Sollte jedoch die Fehlerseite nicht angezeigt werden oder eine weiße Seite kommen, dann mal in die Plugin-Übersicht wechseln und das System-Plugin Umleitung aktivieren.
Danke Axel,<br />funktioniert bestens. Deine Anleitungen kann ich nur empfehlen.<br /><br />Mirko
Hallo,<br /><br />ich kann mich Mirko nur anschließen, es funktioniert Tadellos und das Template erstellen war wirklich sehr einfach. Vielen Dank für die Anleitung<br /><br />Frank
Vielen lieben Dank. Habe Möglichkeit 2 ausprobiert und es hat 1a funktioniert!!!<br /><br />Ich bin begeistert, dass die Fehlerseite nun integriert in der Webseite auftaucht!
Vielen Dank. Möglichkeit 2 funktioniert auch im neuen Joomla 2.5. Hab's gerade ausprobiert.<br /><br />LG Susann
es ist so einfach und man kommt nicht drauf, es sei denn man sucht hier. Vielen Dank. Werde jetzt alle Seiten mal eine ordentliche fehlerseite verpassen, wie sich das gehört
)<br />Da bin ich wirklich ein Schlumper gewesen.
Bei mir funktioniert der beschrieben Weg leider nicht. Ich erhalte nur eine weiße Seite. Benutze J2.5. Bin der Anleitung genau gefolgt.<br /><br />Woran kann das liegen?
Bei mir funktioniert der beschrieben Weg leider nicht. Ich erhalte nur eine weiße Seite. Benutze J2.5. Bin der Anleitung genau gefolgt.<br /><br />Woran kann das liegen?<br /><br />Wie soll ich oder jemand anders das beantworten können - ich sitze ja nicht neben dir...<br />Irgendwo wirst einen Fehler gemacht haben - eine andere Erklärung kann ich dir nicht geben. Vielleicht kann dir aber ein Supportforum weiter helfen...<br /><br /><br />Axel
Vielen Dank hat funktioniert:<br /><br />bei mir musste ich den Code leicht anpassen:<br /><br /><br /><br /><br />error->getCode()==403) {<br />JApplication::redirect("403.html");<br />} elseif ($this->error->getCode()==404) {<br />JApplication::redirect("index.php/Fehlerseite" rel="nofollow">index.php/Fehlerseite");<br />} else {<br />JApplication::redirect("index.php/Fehlerseite" rel="nofollow">index.php/Fehlerseite");<br />}<br />?>
Herzlichen Dank für die tolle Anleitung!<br /><br />Eine Frage hätte ich jedoch dazu: die neue Custom Page auf Joomla 2.5 schickt den falschen Status Code zurück.<br />Die Joomla Dokumentation sagt dazu:<br />HTTP Status Code<br />When a request is made for a page on your site, the server returns an HTTP status code in response to the request. Joomla! returns a '200 - the server successfully returned the page' for error pages. This is problematic for those working with Google Webmaster Services and trying to get a sitemap resolved.<br />If you want Joomla! to return a status code for the error, you can do so by adding logic before the DOCTYPE line, as follows:<br /><br />error->code == '404') {<br /> header("HTTP/1.0 404 Not Found");<br />} ?><br /><br />Nun habe ich den Code so abgeändert:<br /><br />} elseif ($this->error->getCode()==404) { <br />header("HTTP/1.0 404 Not Found");<br />JApplication::redirect("404.html");<br /><br />Dies scheint es aber nicht zu sein - der Status Code wird noch immer nicht korrekt ausgegeben. Any idea?<br /><br />Danke,<br />Matthias
Klasse Tipp mit den eigenen Fehlerseiten. Was ich nur nicht verstehe ist, warum Du dafür ein eigenes Template erstellst. Du kannst doch ruhig das Standard-Template verwenden. Wenn Du dem Schattenmenü kein Modul zuweist wird es doch eh nicht angezeigt - oder habe ich da nun etwas falsch verstanden????<br /><br />Gruß Manfred
Hallo Manfred,<br /><br />denke, du hast da was falsch verstanden. Wenn du auf meinen Beispiellink mit meiner Fehlerseite klickst, wirst du sehen, dass die in diesem Template, dass du gerade siehst, liegt
<br /><br />Ich erstelle also kein neues, sondern benutze das default-gesetzte Template.<br /><br /><br />Axel
hallo,<br />ich bilde mir ein, alles richtig gemacht zu haben, erhalte aber die fehlermeldung:<br /><br />Not Found<br /><br />The requested URL /unterordner/404.html was not found on this server.<br /><br />hat vlt. jemand eine ahnung, was ich falsch gemacht haben könnte. der vollständige pfad "http://www.meineurl.de/unterordner/404.html" ist natürlich eingetragen.
Hast Du auf Deiner Seite SEO laufen?<br /><br />Falls ja, setzte in den Linkt in der error.php noch die index.php mit hinein.<br /><br />Dein Link in der error.php sollte dann in etwas so ausehen:<br />http://www.meineurl.de/index.php/unterordener/404.html
hallo manfred,<br /><br />mit unterordner meine ich den, in dem ich joomla installiert habe. deswegen habe ich auch schon mal als link versucht:<br />http://www.meineurl.de/unterordner/index.php/404.html. da erhalte ich allerdings einen noch kritischeren fehler:<br />"Fehler: Umleitungsfehler<br />Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.<br />Dieses Problem kann manchmal auftreten, wenn Cookies deaktiviert oder abgelehnt werden."<br /><br />dein vorschlage /index.php/unterordner/404.html liefert leider den bereits oben beschriebenen fehler...
Dann hast Du irgenwo anders einen Fehler drin. Hast Du das "Schattenmeu" wie beschrieben angelegt?<br /><br />Also ich bin gerade dabei für einen Kunden eine Community-Seite zu bauen, die auch in einem Unterordner liegt und bei mir rennt es einwandfrei mit dem Link:<br />http://www.domain.de/joomlaordner/index.php/404.html<br /><br />Kann natürlich auch sein, dass Du in der error.php irgenwo einen Fehler drin hast.<br />Ich poste Dir mal meine.
hier meine error.php:<br /><br /><br /><br /><br /><br /><br /><br />menüs und beiträge:<br />- menüdetails wie oben<br />- zum menü zugeordnete module: Ein Modul f.d. Menütyp hinzufügen<br />- menüeinträge wie oben<br />- beiträge wie oben<br />- alles Uncategorised, alles Public<br /><br />was ich nicht verstehe: wenn ich z.b. in der htaccess eine datei auf dem server aufrufe, benutze ich einen ganz anderen pfad:<br />/www/sitexxxx/web/jordner/dateiname<br /><br />kanns vlt. daran liegen?
upps, der code der error.php wird nicht angezeigt...<br /><br />schön wäre es, wenn auch ein bsp. für die oben angegebene Möglichkeit 1 angegeben wäre. ich müsste nur wissen, wie ich in die if/ else anweisung den html-code eingeben muss, den ich mir ja aus dem beitrag "Fehler 404" herauskopieren könnte...
Nein, der Pfad den Du da aufgeschrieben hast, ist der Pfad auf dem Server Deines Providers.<br /><br />Aber was hast Du da für eine seltsame error.php? Da fehlt wohl der Code, wie ich schon sagte, lässt sich hier kein Code Posten.<br /><br />Das darunter sollen wohl die Einträge des Schattenmenüs sein. Da fällt mir auf, Du hast dem Menü ein Modul zugeordnet? Das darfst Du nicht. Nur das Menü anlegen und die Beiträge eintragen, aber kein Modul zuordnen.
[amazonadd=3836215314] Ich will ehrlich zu Ihnen sein: Ich bin absolut überzeugt von meiner kleinen aber feinen Firma, von meinem Marketing und sowieso viel besser als die Mitbewerber! Zu...
Dieses Tutorial steht auch als PDF im Downloadcenter zur Verfügung Nach dem ersten Tutorial (Einführung in Seblod) kam ein Kontakt zu Kiki (Screendesign Whykiki) und...
[amazonadd=3866456786] Das vorliegende Buch trägt die Untertitel Das Praxisbuch - Ideen und Lösungen für die Datenanlyse mit PivotTables und PivotCharts. Ergo findest sich in d...
Dieses Tutorial steht als PDF-Download im Download-Center zur Verfügung. Als ich das erste Mal Seblod installiert hatte, habe ich große unverständliche Augen gemacht, ein wenig heru...
Schaut man sich in Word eine der vielen Vorlagen an, dann finden sich dort auch oft die Schnellbausteine oder auch Inhaltssteuerelement genannt. Die Möglichkeiten mit diesen Bausteinen sind ...
Ein altes Problem bei Joomla ist, dass ein Beitrag stets nur einer Kategorie zugeordnet werden kann. Ich hatte das Dilemma, dass einige Tutorials sowohl für Joomla!1.5, als auch in Joomla!2....
Bei den "Nützlichen Links" habe ich es so gemacht, dass ich nach Textmarkierung direkt im Pulldownmenü des JCE-Editors eine eigene Formatierung - in diesem Fall die Sprachflagge der Website ...
Vom Franzis Verlag gibt es eine 52 Seiten umfassende Leseprobe im PDF-Format
Bevor es losgeht 1.1 Die GNU General Public License (GPL) 1.1.1 Was ist eigentlich GNU GPL? 1.1.2 Open Source versus GPL 1.1.3 Was bedeutet das für uns? 1.2 Arbeitsumgebung 1.2.1 Lokale Joom...
Fragen zum Buch, wenn der Code nicht funktioniert oder wie etwas besser funktionieren kann oder und überhaupt bitte bei Github stellen. Wir haben da extra entsprechendes angelegt. Also bitte...
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.