LTI-Plattform-, Tool- und Bereitstellungs-Entitäten
Controller/
LTI-Start- und Konfigurations-Endpunkte
Frontend (assets/vue/)
Konfiguration (config/)
Symfony fügt automatisch die Basisdateien packages/*.yaml mit denen im entsprechenden Umgebungsunterverzeichnis (dev/, prod/ oder test/) zusammen, sodass umgebungsspezifische Dateien nur die Werte überschreiben müssen, die sich unterscheiden.
Alle Dateien befinden sich im Projektstammverzeichnis. PostCSS-Plugins (Tailwind + Autoprefixer) werden inline in webpack.config.js über enablePostCssLoader() konfiguriert — es gibt keine eigenständige postcss.config.js. webpack.config.js liest tailwind.config.js indirekt über PostCSS, sodass Änderungen an den Abschnitten content oder theme von Tailwind bei der nächsten Ausführung von yarn encore dev / yarn encore production wirksam werden.
Tailwind ist über PostCSS integriert. assets/css/_tailwind.scss gibt die Basis-, Komponenten- und Utility-Ebenen aus; assets/css/app.scss importiert es zuerst, sodass Tailwind-Utilities in allen anderen Teil-Dateien verfügbar sind. Die Tailwind-Konfiguration – Inhaltspfade für das Bereinigen, Theme-Erweiterungen und Plugins – befindet sich in tailwind.config.js im Projektstammverzeichnis (/var/www/chamilo/tailwind.config.js).
Benutzerdefinierte Utility-Klassen und Komponentenklassen, die mit @layer definiert sind (sichtbar in app.scss), folgen der Layering-Konvention von Tailwind, sodass benutzerdefinierte Klassen die gleichen Spezifitätsregeln wie die generierten Utilities einhalten.
Farbthemen
Chamilo unterstützt ein Farbthemen-System, das direkt über die Admin-Oberfläche konfiguriert werden kann (Admin > Farbthemen). Jedes gespeicherte Thema schreibt seine Dateien in ein dediziertes Verzeichnis unter var/themes/:
colors.css definiert CSS benutzerdefinierte Eigenschaften als durch Leerzeichen getrennte RGB-Kanal-Tripletts anstelle von rgb()-Werten, was es Tailwind ermöglicht, Opazitätsvarianten (z. B. bg-primary/50) ohne zusätzliche Konfiguration zu erstellen:
Die Theme-Ebene liegt über dem kompilierten Tailwind/SCSS-Bundle: Der Browser lädt colors.css nach dem Haupt-Stylesheet, sodass Theme-Änderungen sofort wirksam werden, ohne dass ein Build-Schritt erforderlich ist.