Mittlerweile habe ich die Aufgabe gelöst. Ich denke das Thema könnte einige interessieren, deswegen möchte ich an dieser Stelle meinen Lösungsweg hier detailliert aufzeigen:
Damit alle Seiten in einem Baum gehalten werden können, habe ich mir gedacht, das Ein- und Ausblenden der Inhalte und Seiten über die Zugriffsvergabe zu realisieren.
Hier hat man von Typo3 schon die Möglichkeit Seiten und Inhalte Gruppen zuzuweisen.
Zuerst habe ich Gruppen angelegt:
Gruppe A
Gruppe B
Gruppe C
Gruppe AC
Gruppe AB
Gruppe BC
Dann habe ich drei User angelegt und denen die relevanten Gruppen zugewiesen:
User A - Gruppe A, Gruppe AC, Gruppe AB
User B - Gruppe B, Gruppe AB, Gruppe BC
User C - Gruppe C, Gruppe AC, Gruppe BC
Auf der Eingangsseite habe ich drei Links angelegt, um mittels automatischen Login die Seitenbesucher anzumelden:
<a href=?id={shortCutPage}&logintype=login&user={User A}&pass={Pass User A}&pid={deinUserStorage}> Gruppe A </a>
<a href=?id={shortCutPage}&logintype=login&user={User B}&pass={Pass User B}&pid={deinUserStorage}> Gruppe B </a>
<a href=?id={shortCutPage}&logintype=login&user={User C}&pass={Pass User C}&pid={deinUserStorage}> Gruppe C </a>
{shortCutPage} = Eine Shortcut-Seite, die aufgerufen wird, wenn man sich einloggt. Diese verweist auf die Startseite des Internetauftritts. Leider musste ich diese dazwischensetzen, weil ansonsten die „Anmeldung“ im Menü nicht richtig vollzogen wurde.
{User A} = Benutzername des User A
{User B} = s.o.
...
{Pass User A} = Passwort des User A
{Pass User B} = s.o.
…
{deinUserStorage} = ID des Ordners, in dem die Webseiten Besucher und Gruppen angelegt wurden.
Soweit so gut.
Man konnte jetzt schon mal die Gruppen wählen, und nur die gewählten Seiten und Inhalte der jeweiligen Gruppen wurde angezeigt.
Nun sollte man auch wenn man sich schon entschieden hatte, von jeder Seite wieder die Gruppe wechseln.
Dazu habe ich die drei Links von der Startseite wieder benutzt. Denn wenn man sich mit einem neuen User anmeldet, wird der vorherige automatisch abgemeldet.
... irgendwie logisch ...
<a href=?id={shortCutPage}&logintype=login&user={User A}&pass={Pass User A}&pid={deinUserStorage}> Gruppe A </a>
...
Somit war der Wechsel zwischen den Gruppen auch erledigt.
Was soll aber passieren, wenn sich jemand „wirklich“ auf der Seite anmelden möchte.
Immerhin ist jeder Seitenbesucher angemeldet. Würde der Seitenbesucher auf die Login Seite gehen, stände da: Sie sind als „User A“, „User B“ oder „User C“ angemeldet.
Das wäre nicht so schön! Oder?
Dazu habe ich eine normale Login-Seite gebaut, die im Menü nicht angezeigt wird.
Wenn sich jemand einloggen möchte, wird er erst ausgeloggt. Das erledigt eine Zwischenseite (Externe URL). Darüber rufe ich den folgenden URL auf: {deine LoginSeite}?logintype=logout&pid={deinUserStorage}
{deine LoginSeite} = Die im Menü unsichtbare Loginseite.
{deinUserStorage} = s.o.
Fertig!
Aber wie wissen die User, welche Seiten welcher Gruppe sie ansehen?
Dazu habe ich im TS – Setup eine kleine Abfrage mittels Conditions gebaut:
# 1 = ID User A
# 2 = ID User B
# 3 = ID User C
temp.status = TEXT
# DEFAULT // nicht eingeloggt
temp.status.value = Allgemeine Informationen
# Login allgemein
[loginUser = *]
temp.status.value = Interne Informationen
# Gruppe A
[loginUser = 1]
temp.status.value = Informationen für Gruppe A
# Gruppe B
[loginUser = 2]
temp.status.value = Informationen für Gruppe B
# Gruppe C
[loginUser = 3]
temp.status.value = Informationen für Gruppe C
[global]
...
# Gruppen Status Anzeige
marks.STATUS < temp.status
Endlich!
Das soll es dann auch gewesen sein.
Fazit:
Die Aufgabe ist gelöst, und die Lösung funktioniert. Aber falls jemand noch Verbesserungsvorschläge oder jemand einen anderen Lösungsansatz für die oben genannte Aufgabe hat, immer her damit!
Für Vereinfachungen und Verbesserungen bin ich immer zu haben ;-)