Bitte beachten:
Die nachfolgenden Ausführen konzetrieren sich auf Joomla Vers. 1.5.x - speziell die Angaben zu diversen Scripten. In neueren Versionen wird's ziemlich sicher anderes gehandhabt. Unverändert blieben bisher die Ablageorte für die Standard-Favicons, solangen man diese als Dateinamen favicon.ico verwendet.

 

Favicon einfach überschreiben

Das Frontend-Icon

Die einfachste Art das Favoriten-Icon (shortcut-icon) zu ändern welches durch das Template ausgeben und im Frontend angezeigt wird, ist diese "favicon.ico"-Datei zu überschreiben. Unter Joomla 1.5.x liegt dieses i.d.R. im Template-root-Verzeichnis, also unter joomlarootpath/templates/DeinTemplate/favicon.ico für das Frontend-Icon.

 

Das Backend-Icon

In meinen Projekten lege ich meistens auch noch für den Admin-Bereich ein eigenes Projekticon ab, dass errleichtert mir die Orientierung in den Tabs, wenn ich zw. diversen Kundenprojekten wechseln muss. Dies erfolgt nach dem gleichen Prinzip, nur dass wir hier in das Template-Verzeichnis des Backend-Templates gehen müssen joomlarootpath/dministrator/templates/khepri/favicon.ico.

 

Das Error-Icon oder Standard-Icon

Letzlich kann man noch ein drittes Standard-Favicon ablegen. Wozu? Ich nenne es wg. seiner typischen Verwendung immer das Error-Favicon, denn es wird immer dann aufgerufen wenn z.B. eine Fehler auftritt und Joomla mal ganz seinen Dienst versagt. Natürlich passiert das nicht nur dann sondern auch wenn ich z.B. in dem Webverzeichnis weitere i.d.R. kleine Hilfstools und Seiten habe, die unabhängig von Joomla laufen, z.B. Importscripte etc.

Hier passiert nämlich folgendes: Auf Grund dessen, weil Joomla nicht ausgeführt wird, werden auch die Templates nicht gefetcht und so auch nicht o.g. Favicons eingebunden. Wird durch ein Script oder html-Seite eine Seite an den Browser gesendet, in der kein Favicon definiert ist, ruft der Client automatisch eine favicon.ico aus der Domain-Wurzel ab - das ist eben so ein Quasi-Standard. Das machen wir uns also zu nutze und legen dort eine dritte FavIcon-Variante ab.

 



PNG als Shortcut-Icon

Die Verwendung von Shortcut-Icons im Windowsformat *.ico ist die gebräuchlichste, weil nach meiner Annahme auch kompatibelste Variante. Leider kann das ICO-Format aber kein Alphakanal wie z.B. das PNG-Format. Andererseits sind aber mittlerweile viele Browser durchaus in der Lage auch PNG-Dateien als Favicon richtig anzuzeigen. Optisch macht dass dann natürlich um so mehr her, weil mit Transparenz sauberer gearbeitet werden kann.

 

Nun ist es aber unter Joomla nicht mehr so einfach das favicon.ico durch einen Dateinamen wie z.B. favicon.png oder irgend einen anderen Dateinamen auszutauschen. Die Möglichkeit den Dateinamen in der Joomla-globalen-Konfiguration zu hinterlegen gibt es nicht mehr. Deshalb muss man also um das zu erreichen etwas tiefer vorstoßen.

 

Ein Möglichkeit führt über die leider sehr unschöne Möglichkeit den Core zu modifizieren. Durch das PatTemplate() und dem Aufruf wird der komplette Header in das Template eingebunden. Es gibt neben head weitere Dokumenten-Ausgabeformate-Typen wie z.B. modules, module, message, oder component. Diesem Template-Befehl kann außerdem Parameter übergeben werden in der Form . Leider konnte ich für diese Parameter bisher keine Dokumentation finden. Durchaus ist vorstellbar, dass hier ein Parameter für das Favicon in Form von Dateiname und Pfad übergeben werden könnte und somit statt des Eingriffes in die Core-Dateien eine einfache Parameterübergabe im Template stattfinden könnte.

 

Der Ausgabetype head wird behandelt in der Datei: joomlarootpfad/libraries/joomla/document/html/renderer/head.php allerdings wird hier nicht die Ausgabe des Favicons erzeugt, sondern nur die anderen. Statt dessen gibt es noch die übergeordnete Datei joomlarootpfad/libraries/joomla/document/html/html.php (und Sie merken, wir stoßen immer weiter in den Core vor). Hier finden wir zunächst ab Zeile 143 die Definition der Funktion addFavicon(), die jedoch nur den HTML-Tag aufbaut. Weiter unten ab Zeile 348 und 353 in der Funktion _loadTemplate() wird das Icon dann als fest vorgebener Dateinamen eingebunden. Dabei wird hier gesucht, ob ein Favicon im Joomla-Rootpfad oder im Template-Rootpfad gefunden wird. Wenn ja, dann wird mit diesem URL die Funktion addFavicon() aufgerufen und es erfolgt die Ausgabe des Tags einschließlich Dateinamen.

 

Nun gäbe es die einfach Möglichkeit hier die Vorgabe favicon.ico durch z.B. favicon.png zu ersetzen. Man könnte natürlich diese Funktion dahingehend erweitern, dass sowohl nach *.ico als auch *.png gesucht wird und was gefunden wird, wird dann auch verwendet. Damit hätte man eine flexible Lösung - aber leider immer noch ein Eingriff in die Core-Scripte. Mit jedem Update diese Dateien betreffend wäre also wieder eine Änderung notwendig.

 

Mit diesem Grundwissen ausgestattet sind Sie mit etwas PHP-Kenntnissen in der Lage Ihr Wunsch-FavIcon zu laden.

 

 

Wenn Ihnen dieser Beitrag geholfen und viel Zeit gespart hat, zeigen Sie sich erkenntlich: Über einen Klick auf Google+1 oder Rückmeldungen freue ich mich. Zeigen Sie mir, dass sich die Mühe für die Beitragerstellung gelohnt hat. Schenken Sie auch den Produktwerbungen Ihre Beachtung, denn damit wird mein Aufwand für diese Beiträge refinanziert.