Sie befinden sich hier: [Lösungen] / Typo3 mit YAML / Login/Logout

Problemstellung

In der Kombination Newloginbox und YAML für Templavoila verbleiben die Menüeinträge nach einer Benutzeranmeldung auf "Login".

Lösung:

Nach einer Anmeldung werden die Menüeinträge per Typoscript von "Login" auf "Logout" umgeschrieben.
Stichwort "override".
Das Typoscript entnimmt die Bezeichnung für das override aus dem subtitle der Login Seite.

Login/Logout override TS Setup
Zeilennummerierung
 
### Muss in das Haupttemplate !!! ###
[loginUser = *]
### Submenü Eintrag "Login" nach/während Benutzer Anmeldung auf Logout umschreiben ###
lib.submenu.10.30.1.NO.stdWrap.override.cObject = TEXT
lib.submenu.10.30.1.NO.stdWrap.override.cObject {
  field = subtitle
  if.value.field = uid
  if.equals = nn
}
lib.submenu.10.30.1.CUR < lib.submenu.10.30.1.NO

### Topmenü (Topnav)  Eintrag "Login" nach/während Benutzer Anmeldung auf Logout umschreiben ###
lib.header.20.20.1.NO.stdWrap.override.cObject = TEXT
lib.header.20.20.1.NO.stdWrap.override.cObject {
  field = subtitle
  if.value.field = uid
  if.equals = nn
}
lib.header.20.20.1.CUR < lib.header.20.20.1.NO
[global]

Nachdem sich ein Benutzer angemeldet hat, werden die Menüeinträge von Login auf Logout umgeschrieben.
Dies geschieht durch einen "subtitle" Eintrag auf der Seite.
Das ganze sowohl für das Submenü als auch für das Menü in der Topnav, sofern vorhanden.

if.equals = nn // nn muss durch die PID der Loginseite ersetzt werden.
Per if wird nur auf diese PID der subtitle angewendet und die Condition [loginUser = *] erledigt dies nur für angemeldete Benutzer.

Die Angaben sind ohne Gewähr auf Funktionalität. Kein Support !
Feedback, Anregungen, Fehler, Kritik und Verbesserungsvorschläge können per Kommentarfunktion oder Kontakformular eingereicht werden.

5 Kommentare

Seite 1 von 2 12 >>

 
 
#5 Guido Palacios schrieb am 19.04.2010 11:06 answer email
Hallo, es fehlt noch die Angabe für das Hauptmenü:
 
### Hauptmenü Eintrag "login" nach/während Benutzer Anmeldung auf Logout umschreiben ###
lib.nav.20.1.NO.stdWrap.override.cObject = TEXT
lib.nav.20.1.NO.stdWrap.override.cObject {
field = subtitle
if.value.field = uid
if.equals = 13
}
lib.nav.20.1.ACTIFSUB < lib.nav.20.1.NO
 
gruß
Guido
 
 
 
 
 
#4 Patrick Zanker schrieb am 25.02.2010 16:26 answer email homepage
Hallo,
ich konnte das Problem wie folgt lösen bzw. hab dein Bsp. nur umgeschrieben
 
 
 
 
 
#2 Patrick Zanker schrieb am 24.02.2010 18:36 answer email homepage
Hallo,
genau nach dieser Lösung habe ich gesucht. Nur setze ich Yaml für Autoparser ein. Wo muss ich dort den Code einfügen? Wenn ich ihn 1 zu 1 in mein Haupttemplate übernehme funktioniert es nicht.
Gruß
patrick
 
 
 
 
 
#3 Claus Fassing schrieb am 25.02.2010 09:54 answer email homepage
Hallo,
 
da kann ich Dir leider nicht helfen, da ich mit dem Autoparser keine Erfahrung habe. Evtl. mal eine Anfrage in das YAML Forum setzen.
 
Seit TYPO3 4.2 gibt es das Login Modul fe_login als Sysextension, welches die newloginbox ablöst (Ist im TER als Obsolete gekennzeichnet).
Dieses würde ich vorziehen.
 
Grüße Claus