# Joomla-Erweiterung
Die SeminarPlan-Erweiterung für Joomla 6 zeigt deinen kompletten Seminarkatalog auf deiner Joomla-Webseite an und sendet Buchungen, Anfragen und Kontaktnachrichten direkt an SeminarPlan zurück. Die Daten kommen aus der SeminarPlan-API und werden auf dem Webserver zwischengespeichert; in der Joomla-Datenbank wird nichts dupliziert.

# Was die Erweiterung kann
- Katalog: Seminare, Kategorien (beliebig verschachtelt), Hersteller, Standorte mit Räumen, Lernpfade, Wissensseiten (Seiten, Blog, News), Bewertungen.
- Zusatzansichten: Garantietermine, Aktionspreise (Last Minute), neue Seminare, empfohlene Seminare, Seminarsuche mit Kategorie- und Standortfilter.
- Formulare: Seminarbuchung (mit Teilnehmern), Anfrage (offenes Seminar, Live-Online, Inhouse, Individualschulung), Kontakt, Raum- und Notebookvermietung. Alle Absendungen landen als Bestellung, Anfrage oder Kontaktnachricht in SeminarPlan.
- Module für Termine, Seminarkarten, ein einzelnes Seminar, Kategorien, Bewertungen und ein Suchfeld.
- Smart Search: Der Katalog ist in der Joomla-Suche auffindbar.
- Automatik: Geplante Aufgaben, Konsolenbefehle und Sofort-Aktualisierung per Push aus SeminarPlan.
- Shortcodes wie
{seminarplan dates mode="guarantee"}in Beiträgen. - SEO: Saubere URLs mit einstellbaren Slugs, Canonicals, OpenGraph, strukturierte Daten (Course, Event, LocalBusiness, Article).
- Anpassbar: Über 45 Anzeigeoptionen, überschreibbar je Menüeintrag, und klassische Joomla-Template-Overrides für jede Ausgabe.

# Bestandteile des Pakets
| Erweiterung | Zweck |
|---|---|
com_seminarplan | Komponente: Ansichten, Formulare, Router, Dashboard, Optionen |
mod_seminarplan_dates | Termine (nächste, Garantie, Aktionspreise) |
mod_seminarplan_seminars | Seminarkarten (empfohlen, neu, ausgewählt, passend zur Seite …) |
mod_seminarplan_seminar | Ein Seminar mit nächsten Terminen |
mod_seminarplan_categories | Kategorienliste mit Seminaranzahl |
mod_seminarplan_feedbacks | Teilnehmerbewertungen |
mod_seminarplan_search | Suchfeld |
plg_finder_seminarplan | Smart-Search-Adapter |
plg_task_seminarplan | Geplante Aufgaben (Synchronisierung, Suchindex) |
plg_console_seminarplan | Konsolenbefehle seminarplan:* |
plg_content_seminarplan | Shortcodes in Beiträgen |
Das Paket pkg_seminarplan installiert alle Teile in einem Schritt und aktiviert die Plugins. Im Joomla-Administrator führen der Hilfe-Button des Dashboards und der Hinweis in den Optionen hierher.
# Voraussetzungen
- Joomla 6.0 oder neuer, PHP 8.2 oder neuer (PHP-Erweiterung
intlempfohlen,redisnur für das Redis-Backend). - Ein SeminarPlan-Konto mit API-Schlüssel (siehe Einrichtung).
- Der Webserver muss die SeminarPlan-API per HTTPS erreichen können (ausgehende Verbindungen).
- Ein Schreibrecht auf das Joomla-Verzeichnis
cache/(dort liegt der Katalog-Cache).
# So funktioniert es
SeminarPlan-API ──(Synchronisierung oder Push)──▶ lokaler Cache ──▶ Ansichten, Module, Suche
Formulare ──▶ Validierung ──▶ SeminarPlan-API (Bestellung / Anfrage / Kontaktnachricht)
- Eine Synchronisierung holt alle veröffentlichten Daten aus der API und schreibt sie in den Cache (Standard: PHP-Dateien im Verzeichnis
cache/com_seminarplan, alternativ Redis). - Die Webseite liest ausschließlich aus dem Cache. Seitenaufrufe sind dadurch schnell und funktionieren auch, wenn die API kurzzeitig nicht erreichbar ist.
- Speicherst du in SeminarPlan ein Seminar, eine Kategorie, einen Hersteller, einen Standort oder eine Wissensseite, pusht SeminarPlan diesen Datensatz sofort an die Webseite. Alles andere aktualisiert die geplante Aufgabe.
- Formulare werden in Joomla geprüft (Pflichtfelder, Spamschutz) und dann an die API übergeben.
Details: Synchronisierung und Cache.
# Schnellstart
- Installation des Pakets.
- Einrichtung: API-Schlüssel und Push in SeminarPlan, Optionen in Joomla, erste Synchronisierung, Menüeinträge, Suchindex, geplante Aufgabe.
- Einstellungen, Module und Template-Anpassungen nach Bedarf.