# Menüeinträge und URLs
# Menütypen
Beim Anlegen eines Menüeintrags findest du unter SeminarPlan diese Ansichten:
| Menütyp | Zeigt | Besonderheiten |
|---|---|---|
| Seminare | Alle Seminare, seitenweise, mit Filter | Optional auf Kategorie, Hersteller oder Standort eingeschränkt; Sortierung wählbar |
| Einzelnes Seminar | Detailseite eines festen Seminars | Für Landingpages; normalerweise reicht der Eintrag „Seminare“ |
| Kategorien | Hauptkategorien als Kacheln | |
| Einzelne Kategorie | Eine Kategorie mit Unterkategorien und Seminaren | Optionen: Unterkategorien einbeziehen, abgekündigte anzeigen, Sortierung, Einträge pro Seite |
| Hersteller / Einzelner Hersteller | Herstellerübersicht bzw. ein Hersteller mit Kategorien und Seminaren | |
| Standorte / Einzelner Standort | Standortübersicht bzw. ein Standort mit nächsten Terminen, Räumen, Karte | Optionen: Online-Standort ausblenden; Anzahl Termine, Karte (Google-Maps-Iframe) |
| Garantietermine | Alle Termine mit Durchführungsgarantie, nach Monaten | Optional Kategorie/Standort |
| Aktionspreise | Last-Minute-Termine mit Aktionspreis | Optional Kategorie/Standort |
| Neue Seminare | Kürzlich angelegte Seminare | Zeitraum in Tagen |
| Empfohlene Seminare | Als „Featured“ markierte Seminare | |
| Bewertungen | Teilnehmerbewertungen mit Statistik | |
| Lernpfade / Einzelner Lernpfad | Lernpfade mit ihren Seminarstufen | |
| Wissensseiten / Einzelne Seite | Seiten, Blog und News aus SeminarPlan | Filter nach Seitentyp |
| Seminarsuche | Suche mit Kategorie- und Standortfilter | |
| Seminarbuchung, Anfrage, Kontakt, Raumvermietung | Die vier Formulare | Kontakt: Themenliste als Menüoption |
Jeder Menüeintrag hat zusätzlich den Tab Darstellung mit den Anzeigeoptionen (siehe Einstellungen); „Global verwenden“ übernimmt den Wert aus den Komponentenoptionen.
# Menü-Generator
Das Dashboard und der Befehl seminarplan:menu:create legen alle Listen- und Formular-Menüeinträge auf einmal an, mit den Slugs aus den Optionen als Alias und übersetzten Titeln. Vorhandene Einträge werden übersprungen; mit --replace (CLI) werden alle SeminarPlan-Einträge zuvor entfernt.
php cli/joomla.php seminarplan:menu:create --menutype=mainmenu
php cli/joomla.php seminarplan:menu:create --menutype=mainmenu --view=seminars --view=categories
php cli/joomla.php seminarplan:menu:create --menutype=mainmenu --replace
Die erzeugten Einträge sind normale Joomla-Menüeinträge: Du kannst Titel, Alias, Reihenfolge, Zugriffsebene, Modulzuweisungen und Metadaten wie gewohnt bearbeiten oder Einträge in ein verstecktes Menü verschieben, wenn sie nicht in der Navigation erscheinen sollen.
# URL-Aufbau
| Inhalt | URL |
|---|---|
| Seminarliste | /seminare |
| Seminar | /seminare/<seminar-alias> |
| Kategorie (verschachtelt) | /kategorien/<eltern-alias>/<alias> |
| Hersteller, Standort, Lernpfad, Wissensseite | /hersteller/<alias>, /standorte/<alias>, /lernpfade/<alias>, /wissen/<alias> |
| Raum | /standorte/<standort-alias>/<raum-alias> |
| Buchung eines Termins | /seminar-buchung?seminar=<id>&date=<id> (Links werden von den Terminlisten erzeugt) |
| Anfrage zu einem Seminar | /anfrage?seminar=<id> (optional &date=<id>&kind=inhouse) |
| Listen, Seite 2 | /seminare?start=40 |
Die Aliase der Objekte pflegst du in SeminarPlan (Feld Alias); ohne Alias wird der Titel umgewandelt (Umlaute → ae/oe/ue, Sonderzeichen entfernt). Doppelte Aliase werden beim Abgleich automatisch mit Kurzcode oder ID eindeutig gemacht. Unbekannte Aliase liefern eine echte 404-Seite, alte Nicht-SEF-URLs (index.php?option=com_seminarplan&view=seminar&id=…) leiten per 301 auf die SEF-URL um.
Existiert für eine Ansicht kein Menüeintrag, fällt Joomla auf /component/seminarplan/<ansicht>/<alias> zurück. Für saubere URLs sollten deshalb alle Listen-Menüeinträge vorhanden sein.
# Breadcrumbs
Bei aktivierter Option Breadcrumbs erweitern ergänzt die Komponente die Joomla-Breadcrumbs um den Kategoriepfad und den Seminartitel (auch als BreadcrumbList-JSON-LD).