Favicon in Orchard CMS

OrchardFaviconsemantic-uiHeadLinks.htmlTheme

Ich habe während der vergangenen Wochen meine Homesite aktualisiert und gleichzeitig zwei neue erstellt. Für diese Aufgabe habe ich mein CMS des Vertrauens verwendet - Orchard CMS. Ich habe für jede Site ein neues Theme erstellt auf Basis von semantic-ui. Nein, nicht Bootstrap - semantic-ui! Mir gefällt es einfach besser. Wie so viele vor mir stand auch ich vor der Aufgabe, für meine neuen Themes jeweils das standard Favicon zu ersetzen.

Die Recherche im Web ergab mehrere Lösungsvarinten. Für mich waren sie allesamt unbefriedigend.

Die Datei Document.cshtml ändern

In der Datei Document.cshtml ist der Link zu dem Favicon hart codiert. Die Schlussfolgerung liegt nahe, dass hier ein alternatives Favicon angegeben werden muss. Nur, was passiert beim nächsten Release von Orchard? Wird da nicht die Document.cshtml überschrieben?

Wenn ein eigenes Theme erstellt wird, könnte man ja die Document.cshtml für dieses Theme kopieren und anpassen. Nur, das ist keine gute Praxis. Das Theme kümmert sich eigentlich um den Inhalt des Dokuments und nicht um das Dokument selber.

Die Datei Favicon.png ersetzen

Ja genau, fummeln wir doch einfach mal ein wenig in Orchard herum. Es ist ja open Source, da kann jeder machen was er will! Nur, was passiert bei einem Update? Weiss man da noch, dass man die alte Datei wegsichern sollte bevor die Dateien der neuen Version darüber kopiert werden? Nach dem Update müssen diese dann wieder zurückkopiert werden. Orchard sollte doch eigentlich genügend Möglichkeiten für eigene Anpassungen bieten, ohne dass gleich in den originalen Dateien herumgefummelt werden muss.

Mein Favorit

Beim herumklicken im Shape Tracing Tool habe ich gesehen, es gibt ein Shape HeadLinks. Ich habe also einfach in meinem Theme eine Datei HeadLinks.cshtml im Ordner Views angelegt.

<link href="/path to my/favicon.png" rel="shortcut icon" type="image/x-icon" />
<link href='https://fonts.googleapis.com/css?family=Rock+Salt' rel='stylesheet' type='text/css'>

Wie man sehen kann, ich habe diese Datei auch verwendet um einen zusätzlichen Font zu laden.

Diese Lösung finde ich super elegant, weil sie völlig unabhängig von der originalen Orchard Installation funktioniert. Das resultierende HTML enthält nur den Inhalt der HeadLinks.html. Der ursprüngliche Link zum Favicon wurde somit sauber ersetzt.

Weitere Infos

Orchard CMS http://orchardproject.net
semantic-ui http://semantic-ui.com

No Comments

Add a Comment