Infosite von Joe Brandes
Eine Website von Trainer Joe Brandes. Infos zu IT-Seminaren von A bis Z.
Das klassische PCS Zertifikat
Von der Hardware und Netzwerktechnik bis zu den den Betriebssystemen Windows, Windows Server und Linux
Ich biete diese Module an!
Zertifikat CMSOD
Module Basiszertifikat
Module Specialist
Ready for Tech Deep Dives...
Bitte gerne ihre gewünschten Seminarinhalte anfragen!
Mit dem Schwung aus dem letzten Joomla Seminar (VHS Braunschweig Bildungsurlaub 2025) will ich die entscheidenden Infos zum Bootstrap Theming in Kombination mit Joomla Standard-Template Cassiopeia darstellen. Auch hier gilt mal wieder: mal sehen wo die Reise hingeht...
Cassiopeia nutzt das HTML-CSS-JS-Framework Bootstrap und in der zugehörigen ausführlichen Dokumentation kann man sich alle nötigen Infos zum Verwenden der Klassen und Funktionalitäten nachlesen.
Die Idee: wir wollen die Ausgabe unseren Websites nach eigenen Wünschen flexibel anpassen und das Erscheinungsbild und die Ausgaben der Webseite individuell gestalten. Hierfür wollen wir nur die folgenden Joomla-Core-Techniken nutzen:
Für den Einstieg sollen per CSS die Farben sauber umgestellt und dann über Stile variabel verschiedenen Seitenauslieferungen (siehe Menüs) zugeordnet werden können.
Das soll immer über Standardtechniken - hier also Child Templates und Stile für Templates - erfolgen. Die jeweiligen Stile (Farbausgaben) sollen in einem ersten Schritt nach Vorgabe der Farbe "Alternativ" aus dem Cassiopeia Beispieltemplate einfach über die Stilkonfiguration auswählbar sein.
Umsetzung: die Auswahl eines Stils wählt dynamisch eine entsprechende CSS-Datei mit den entsprechenden Farbzuweisungen.
Später sollen hierzu weitere Anpassungen erfolgen:
Für die Umsetzung will ich mich auf das Standard-Template Cassiopeia beziehen. Also beginnt meine Anpassung - wie immer - über ein Child Template und darauf zugreifende Stile.
Es ist gut sich die Verdrahtung noch einmal in Erinnerung zu rufen!
Ein Template muss in Joomla (aktuelle Versionen bzw. spätestens seit J!4.1) immer als Erweiterung (ZIP-Archiv) installiert werden. Hierbei werden für das Template die nötigen Basis-Ordner erstellt und mit den mitgelieferten Dateien befüllt.
Templates Standardverzeichnis: ./templates/cassiopeia Hier liegen wichtigen Standard-Dateien und Ordner für die Template-Integration in Joomla und die Auslieferungen von Code mit diesem Template.
./templates/cassiopeia
templateDetails.xml
index.php
Medienordner für Template: ./media/templates/site/cassiopeia Hier werden die Mediendateien für die Auslieferung des Templates technisch sauber von der obigen Technik getrennt.
./media/templates/site/cassiopeia
/css
./images
./js
./scss
Wichtig: wir sollten niemals die Ordnerstrukturen und Inhalte des Templates - hier Standard-Joomla-Template Cassiopeia - manuell ändern. Bei Aktualisierungen der Joomla Technik (Updates) riskieren wir unsere Anpassungen zu verlieren!
Diese Grundidee niemals die Originaldateien der Joomla Technik zu verändern verlangt nach Lösungen. Allgemein werden diese Lösungen als Override bezeichnet. In Templates werden wir diese Override noch mit der Idee der Child Templates erweiteren, um uns für die Overrides auch noch unabhängig von dem Original-Template machen zu können!
Wir werden also als nächste Technik die Child-Templates nutzen.
Die Child Templates versetzen und technisch in die Lage die gesamte (Original-) Template-Technik zu nutzen und gleichzeitig einen technischen Ansprachepartner zu erhalten, den wir wie das Original nutzen können.
Wir erhalten neue Basisstrukturen für die Nutzung mit eigenen Techniken: neue Dateien oder Overrides für Dateien/Ordner im Original-Template.
./templates/cassiopeia_childname
./media/templates/site/cassiopeia_childname
/css/user.css
./css/global/colors_alternative.css
Wir können an diesen Stellen mit den vorbereiteten Basisstrukturen und Dateien sauber getrennt vom Original Template unsere Anpassungen vornehmen.
Es ist Joomla egal welche der Template Techniken man umsetzt. Wir nutzen ein Template über einen zugewiesenen Stil. Der Stil ist quasi die Auswahl des Templates in Kombination mit den im Template integrierten Zusatztechniken.
Das Zusammenspiel der hier dargestellten Techniken ist sehr effizient und mächtig. Allerdings wäre es nicht normal, wenn wir dadurch nicht auch kleinere Einbußen hätten.
Zum Beispiel muss ein Entwickler für ein neues "frisches" Template die beteiligten Ordnerstrukturen passend zusammenstellen und neu packen. Für das Austesten benötigt man möglichst separate Joomla Installationen ohne unsere Entwicklungsumgebung. Aber das sind Überlegungen für später.
Eine der Hauptbaustellen für meine Beschäftigungen mit der Umrüstung und Nutzung von Cassiopeia bezieht sich auf das Hauptmenü bzw. die Layoutnutzung für das Menü-Modul.
Das Menü kann in der Joomla-Standard-Technik durch das Modul mod_menu von Joomla oder alternativ über ein Layout von Cassiopeia genutzt werden. Die Menü-Layouts unterstützen dann jeweils in einer der Layout-Varianten die kollabierbare Variante in der bei verringertem Viewport das Menü zusammgeklappt wird.
Layouts:
./templates/cassiopeia/html/mod_menu/...
./templates/cassiopeia_child/html/mod_menu/...
In dieser Konfiguration haben wir also jetzt drei Layouts für Menü-Module zur Verfügung.
Wir wollen die beweglichen Teile für die nötigen Techniken zusammenfassen.
Tipp: einfach ein neues Child-Template in einer Joomla Website erzeugen und die neu erzeugten Strukturen nutzen! Dadurch kann man auch immer wieder auf die Template-Standards oder eigene bereits erstellte Child-Template-Techniken zurückgrefen.
./administrator/language/overrides/de-DE.override.ini
Bestenfalls organisiert man sich diese Dateien in einer Testumgebung und sichert sich die Ergebnisse als Git-Repo.
Das verbesserte Menu Layout des Cassiopeia Templates wollen wir auf eigene Megamenu Wünsche anpassen. Hierfür muss man die entsprechenden Dateien im Arbeits-Template (hier siehe: Cassiopeia Child Template). Es entsteht durch die kopierten Dateien ein vollständig neues Layout, dass für ein Menü Modul zur Auswahl steht.
Hier die Struktur aus dem Child Template:
templates/cassiopeia_pcsys2023/├── html│ └── mod_menu│ ├── collapse-metismenu.php│ ├── dropdown-metismenu.php│ ├── dropdown-metismenu_component.php│ ├── dropdown-metismenu_heading.php│ ├── dropdown-metismenu_separator.php│ └── dropdown-metismenu_url.php└── templateDetails.xml
Die Dateien sind als Kopien des Original Template Cassiopeia (leider) nicht über die Override Technik von Joomla versionsverfolgbar.
Kurzanalyse der Dateien:
collapse-metismenu.php
dropdown-metismenu.php
dropdown-metismenu_*
Diese verschachtelten Techniken wollen wir uns mit Anpassungen für die Ausgabe eines eigenen Megamenu nutzbar machen.
Für die Planung und Umsetzung erstelle ich mir eine funktionsfähige statische Version der Website und manipuliere den Code manuell, sodass er einem Ergebnis entspricht.
Der Quellcode zeigt somit die komplette Struktur des HTML-/CSS-Gerüst, das man für das Menü benötigt. Und natürlich befinden sich nicht individualisierte Infos im Mockup, die in den PHP-Skripten mit den Inhalten der Menüs zugeordnet werden müssen.
Farbauswahl / Theme: für die gewünschten Farben sollten wir uns den Markt mit passenden Themes nach eigenem Geschmack durchsehen. Im Enterprise Bereich greift man einfach auf das Corporate Design (CD) - bzw. Corporate Identity (CI) - zurück.
Ich will an dieser Stelle mal eine persönliche Übersicht einstellen. Die folgenden Themes nutze ich ich gerne - häufig auch im Wechsel - als Umsetzungen für meine Window Manager und Terminals. Die folgende Liste enthält Themes mit eigener Webpräsenz und Dokumenationen.
Für eine schnelle Recherche gerne auch das Netz nach "Best Color Themes" für einen Editor eigener Wahl fragen - z. B.: Gitkraken - 10 Popular VS Code Color Themes in 2025 Gitkraken - 10 Popular VS Code Color Themes in 2025.
Der folgende Block enthält die mit den entsprechenden Bootstrap "Standards" kombinierten Farben in der aktuellen Ausgabe der Seite. Die Farbe Primary kann über Stile auf verschiedene Hauptfarben konfiguriert werden.
Hier folgen die Bootstrap Standards:
Die Website enthält dann noch die Farbpaletten für die Grundfarben ($blue, $indigo,...) mit den gemappten Abstufungen von z.B. $blue-100 bis $blue-900. Diese Bootstrap Mappings nutzt Cassiopeia Bootstrap CSS nicht.
$blue-100
$blue-900
Im Folgenden kommen die einfachen Farbvariablen --blue bis --black zur Darstellung. Diese wurden in eigener user.css manuell auf text-bg-* Klassen gemappt. Diese Farben sind in - aktuell noch - in allen meinen Templatestilen identisch. Sie werden aber nicht aktiv genutzt.
--blue
--black
user.css
text-bg-*
Anm.: Bootstrap selber kennt die hier genutzten text-bg-* Klassen nicht!
Das war eine kleine Übersicht zu den genutzten Grundfarben und Bootstrap-Hervorhebungen.
Als erste Umsetzung orientiere ich mich im folgenden am Nord Theme.
Die Themen sind natürlich immer eine Geschmacksfrage und die Frage nach Einsatz und Umgebung. Und vielleicht ist ja auch ein Design vorgegeben?! Ich starte hier mal mit dem Nord Theme und orientiere mich nach ersten Umsetzungen strukturell an der Logik und Logistik, damit ich das einfache Umstellen von bis zu vier Farbstylen für eine Website zeigen kann.
Ich mag dieses Theme und setze es auch gerne bei Übungen in Seminaren zum "Ricing" und Linux-Desktop-Themen ein.
Eine Vorschau auf die aktive Nutzung des Themes auf dieser Website mit den aktuellen Farben.
Das Nord Theme hat vier Farbkategorien und Anmerkungen / Vorschläge für den jeweiligen Einsatz der Farben.
Ich habe die Dokumentation des Themes hier eingefügt, damit ich Anmerkungen hinterlegen und schnell verfügbare Copy and Paste Boxen haben für die wichtigsten Farbcodes.
Das Nord-Theme unterscheidet die folgenden Farbakzente und Abschnitte, die noch jeweils mit Extra-Bezeichner ausgeschmückt wurden.
Polar Night - O-Ton: Polar Night is made up of four darker colors that are commonly used for base elements like backgrounds or text color in bright ambiance designs.
Die Farben sind auch mit nord0 bis nord3 bezeichnet.
Snow Storm - O-Ton: Snow Storm is made up of three bright colors that are commonly used for text colors or base UI elements in bright ambiance designs.
Die Farben sind auch mit nord4 bis nord6 bezeichnet.
Frost - O-Ton: Frost can be described as the heart palette of Nord, a group of four bluish colors that are commonly used for primary UI component and text highlighting and essential code syntax elements.
Die Farben sind auch mit nord7 bis nord10 bezeichnet.
Aurora - O-Ton: Used for tertiary UI elements that require more visual attention than default elements. In the context of syntax highlighting it is used for pragmas, comment keywords and pre-processor statements
Die Farben sind auch mit nord11 bis nord15 bezeichnet. Die Farben sind natürlich auch immer frei vom Nutzer kombinierbar und mit RGBA CSS Styles lassen sich leicht farbliche Nuancierungen für Hover oder andere Effekte erzeugen.
Beispielhafte Override CSS-Datei für Standard-Farbe Nord10:
@charset "UTF-8"; :root { --cassiopeia-color-primary: #81a1c1; /* Nord10 bluish - Main Color FITSN */ --primary: #81a1c1; --primary-rgb: 129, 161, 193; --cassiopeia-color-link: #81a1c1; --link-color: #81a1c1; --link-color-rgb: 129, 161, 193; }
Für die Farbpalette sind diverse Downloads für den Einsatz in Grafikprogrammen verfügbar: Nord Theme Color Swatches.
Das Dracula Theme unterstütz ebenfalls viele UI/UX Tools.. Ich orientiere mich bei den folgenden Farbdarstellungen an der Nord-Palette mit deren unterschiedlichen Farbabschnitten.
Die folgende - nicht komplette Übersicht - lehnt sich wie gesagt an Nord an und dient dem einfachen Zugriff auf die wichtigsten Infos und Farbwerte für den Stil. Dracula hat (offiziell) nur 12 Farben!
Dark - Dunkle Farben mit Anmerkungen - die benutzten Nummern habe ich wieder in Bezug zu Nord gewählt.
Die Farben sind auch mit dracula0 bis racula3 bezeichnet.
Lighter Colors - hellere Akzente
Die Farben sind auch mit dracula4 bis dracula6 bezeichnet.
Accent Colors 1 - starke Hervorhebungen
Die Farben sind auch mit dracula7 bis dracula10 bezeichnet.
Accent Colors 2 - ebenfalls Hervorhebungen
Die Farben sind auch mit dracula11 bis dracula15 bezeichnet. Die Farben sind natürlich auch immer frei vom Nutzer kombinierbar und mit RGBA CSS Styles lassen sich leicht farbliche Nuancierungen für Hover oder andere Effekte erzeugen.
Anm.: der Einfachheit halber werde ich das Theme immer einfach Frappe nennen. Ich mag dieses Theme und setze es auch gerne bei Übungen in Seminaren zum "Ricing" und Linux-Desktop-Themen ein.
Das Catppuccin Theme hat vier eigene Themes (Latte, Frappe, Macchiato, Mocha) aus denen ich häufig zu Frappe (genauer Frappé) greife. Es unterstütz ebenfalls viele UI/UX Tools.. Ich orientiere mich bei den Farbdarstellungen an der Nord-Palette mit deren unterschiedlichen Farbabschnitten. Das Catppuccin Frappe Theme hat insgesamt 26 Farben.
Die folgende - nicht komplette Übersicht - lehnt sich wie gesagt an Nord an und dient dem einfachen Zugriff auf die wichtigsten Infos und Farbwerte für den Stil.
Light - hellere Akzente
Die Farben sind auch mit frappe4 bis frappe6 bezeichnet.
Akzente 1 - erste Akzentfarben
Die Farben sind auch mit frappe7 bis frappe10 bezeichnet.
Akzente 1 - weitere Akzentfarben
Die Farben sind auch mit frappe11 bis frappe15 bezeichnet.
Die Farben sind natürlich auch wieder frei vom Nutzer kombinierbar und mit RGBA CSS Styles lassen sich leicht farbliche Nuancierungen für Hover oder andere Effekte erzeugen.
Das hier dargestellte Grundsystem - in Kombination mit den entstandenen CSS Overrides - kann man auf weitere Farbthemen anwenden.
Ihr Trainer Joe Brandes
Sie finden auf dieser Seite - als auch auf meiner privaten Visitenkarte joe-brandes.de einige Hintergrundinformationen zu mir und meinem Background.Natürlich stellt die IT einen Schwerpunkt in meinem Leben dar - aber eben nicht nur ...
Private Visitenkarte / Technik: HTML & CSS joe-brandes.de
Ich erarbeite und konzipiere seit über 30 Jahren IT-Seminare und -Konzepte. Hierfür stehen der "PC-Systembetreuer / FITSN" und der "CMS Online Designer / CMSOD". Ich stehe Ihnen gerne als Ansprechpartner für Ihre Fragen rund um diese und andere IT-Themen zur Verfügung!
BECSS Visitenkarte / Technik: HTML & CSS becss.de
Wer einmal zum Snookerqueue gegriffen hat, der wird es wohl nicht wieder weglegen. Und ich spiele auch immer wieder gerne eine Partie Billard mit den Kumpels und Vereinskameraden. Der Verein freut sich über jeden, der einmal in unserem schicken Vereinsheim vorbeischauen möchte.
Billard Sport BS / nicht mehr von mir betreut billard-bs.de