Inhalt
Helper Klasse Theme
und DOMAIN_THEME
in Bludit CMS
In Bludit stellt sich immer wieder das Problem, das im Theme eigene Logos existieren die in das Template fest eingebunden sein sollen. Zwar bietet Bludit eine eigene Variable THEME_DIR_IMG
für den Image-Pfad an, jedoch handelt es sich dabei um den absoluten Pfad auf dem Server. Die beiden folgenden Methoden funktionieren daher am besten:
<img src="<?php echo Theme::src('img/logo.svg'); ?>">
Code
oder
<img src="<?php echo DOMAIN_THEME.'img/logo.svg'; ?>">
Code
Die Helper-Klasse Theme::
kann mittels der statischen Methode Theme::src()
ausgehend vom Basispfad eine beliebige Source laden, in diesem Fall ein Logo im Theme-Verzeichnis img/logo.svg
. Auch ist die Konstante DOMAIN_THEME
ein relativer Pfad und zeigt bereits in den spezifischen Theme-Ordner.
Die Alternative
Alternativ müssten Sie das Logo ganz traditionell fest implementieren, in etwa so:
<img src="bl-themes/theme-name/img/logo.svg">
Code
Die Variante oben funktioniert genau so gut wie der erste Vorschlag, hat jedoch ein Problem. Ändern Sie später das Theme-Verzeichnis, müssen Sie alle Programmstellen überarbeiten in denen das Logo referenziert wird. Haben Sie mehrere verschiedene Grafiken in diversen Templates, wird diese Korrektur wirklich haarig.
Fazit Theme Logos
Nutzen Sie intensiv die Methoden und Konstanten die Ihnen das CMS Bludit bietet, es ist nicht zu Ihrem Nachteil, denn Sie ersparen sich eine Menge Arbeit wenn Sie später etwas umstellen oder umbenennen wollen. Die Helper Klasse bl-kernel/helpers/theme.class.php
des Bludit bietet dafür viele brauchbare Methoden an die Sie statisch in Ihren Templates aufrufen können. Die folgenden Methoden haben Sie:
- socialNetworks()
- title()
- description()
- slogan()
- footer()
- lang()
- rssUrl()
- sitemapUrl()
- siteUrl()
- adminUrl()
- metaTags()
- metaTagTitle()
- metaTagDescription()
- headTitle()
- headDescription()
- charset()
- viewport()
- src()
- css()
- javascript()
- js()
- plugins()
- favicon()
- keywords()
- jquery()
- jsBootstrap()
- cssBootstrap()
- cssLineAwesome()
- jsSortable()
FlightCMS
2023-12-21
Konstanten
post
5