Zum Inhalt springen

Ein Seitenbaum drei Themen Gruppen

Erstellt am 21. Februar 2005 · 2 Antworten · letzte Antwort am 4. März 2005

Tags: Frontend-Benutzer, Frage

esben ·

Hallo zusammen,

vielleicht habt Ihr eine Lösung für folgendes Problem:
Ich habe einen Seitenbaum, mit 3 Themengruppen und allgemeinen Seiten (Kontakt, Impressum, ...).

Ich möchte den Seitenbaum auf der Startseite für die Seitenbesucher vorfiltern. Er soll aus den 3 Themengebieten einen wählen können. Wenn der Seitenbesucher gewählt hat, darf er später auch wieder auf die anderen Themen umschalten.

Bei der Wahl eines Themas werden die anderen Themenseiten ausgeblendet. Die allgemeinen Seiten bleiben immer stehen. Wechselt der Seitenbesucher das Thema, werden die Seiten des vorher gewählten Themas ausgeblendet, und die Seiten des neu gewählten Themas eingeblendet.

Mein Lösungsansatz:
Auf der Startseite implementiere ich pro Thema ein automatisches Login.
#13016
logintype=login&user={deinUser}&pass={deinPass}&pid={deinUserStorage}

Somit kann ich über die Gruppenrechtevergabe die Seiten ein und ausblenden.

Das Problem:
Wenn jemand das Thema wechseln möchte oder sich jemand in die "wirklich" geschützten Bereiche einloggen möchte, derjenige sich erst wieder ausloggen muss.

Hat jemand eine einfachere bzw. bessere Lösung?
Vielen Dank im Voraus!

esben ·

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 ;-)