Empfohlene Links
Favicon in Joomla ändern
Favicon einfach überschreiben
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.
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 hacken. 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. Hier finden wir zunächst ab Zeile 143 die Definition der Funktion addFavicon(), die jedoch noch den HTML-Tag aufbaut. Weiter unten ab Zeile 348 und 353 in der Funktion _loadTemplate() wird das Icon dann als fest vorgebenen Dateinamen eingebunden. Dabei wird hier gesucht, ob ein Favicon im joomlarootpfad oder im Templaterootpfad 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 eine Eingriff in die Core-Scripte. Mit jedem Update diese Dateien betreffend wäre also wieder eine Änderung notwendig.


