Zum Inhalt springen

Login zu Logout machen

Erstellt am 1. August 2012 · 1 Antwort · letzte Antwort am 8. August 2012

Tags: felogin, Frage

timmy2007 ·

Ich weiss, es gibt schon einige Artikel im Netz und evtl ein paar Foreneinträge, aber ich habe nun verschiedene Sachen ausprobiert, aber irgendwie geht es nicht.

Ich habe ein Dropdown-menü als Hauptnavigation und nutze bei manchen Seiten, speziell im Mitgliederbereich, ein Submenü (aside-Funktion) damit die Mitglieder innerhalb der Community einfacher navigieren können.

Hier der TS Code der Hauptnavigation:

lib.navigation = HMENU
lib.navigation {
  special = list
  special.value = 2, 227, 75, 74, 100,372
  1 = TMENU
  1 {
    expAll = 1
    noBlur = 1
    wrap = <ul id="nav" class="sf-menu">|</ul>
    NO = 1
    NO {
      ATagTitle.field = abstract // description // subtitle
      stdWrap.dataWrap = |
      wrapItemAndSub = <li>|</li>
    }
    ACT < .NO
    ACT.wrapItemAndSub  = <li class="current-menu-item">|</li>
  }
  
  
  # 1. Ebene in 2. kopieren
2 < .1
2 {
  # wrap der Ebene ändern
  wrap = <ul>|</ul>
  # datawrap löschen
  stdWrap.dataWrap >
}

}

Hier der TS-Code für das Submenü:

lib.asidepagesidebar = COA
lib.asidepagesidebar {
 
  10 = TEXT
  10.wrap= <aside id="sidebar"><ul><li class="block"><h4>|</h4>
  10.data = leveltitle:1 // Anpassen an die Ebene der übergeordneten Seite
 
  20 = HMENU
  20 {
    special = list
    special.value = 372,997,996,995,994,1004,227 // Muss angepasst werden, je nach dem, auf welcher Ebene die übergeordneten Seiten liegen
 
  1 = TMENU
  1 {
    wrap = |</li></ul></aside>
    NO.wrapItemAndSub = <li class="cat-item">|</li>
 
    CUR = 1
    CUR.wrapItemAndSub = <ul><li class="cat-item">|</li>
    CUR.linkWrap =
    CUR.doNotLinkIt = 1
  }
  }
  }

Ich habe folgenden TS Code im Netz gefunden, mit dem man angeblich aus Login in Logout verwandeln kann, sobald man als User angemeldet ist. Diesen TS Code habe ich ins Setup des ROOT Template eingefügt:

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

### Hauptmenü Eintrag "login" nach/während Benutzer Anmeldung auf Logout umschreiben ###
lib.navigation.20.1.NO.stdWrap.override.cObject = TEXT
lib.navigation.20.1.NO.stdWrap.override.cObject {
field = subtitle
if.value.field = uid
if.equals = 1004
}
lib.navigation.20.1.ACTIFSUB < lib.nav.20.1.NO

[global]

Ich habe das den Angaben von mir angepasst. Die uid ist 1004 und das ist die Login/Logout Seite. Auf dieser Seite habe ich auch als Untertitel "Logout" angegeben.

Doch es ändert sich nichts nachdem ich mich testweise als User angemeldet habe.

Woran könnte es liegen?

Thomaslav ·

Ich weiß nicht, obs noch aktuell ist für dich, aber ich hab sowas ähnliches grade gebaut:

# Obere Navigation
[usergroup = *]
lib.topNav = COA
lib.topNav {
  
  10 = TEXT
  10 {
    value = Logout
    typolink {
      parameter.data = TSFE:id
      additionalParams = &logintype=logout
    }
    wrap = |&nbsp;&Iota;&nbsp;
  }
  
  20 = HMENU
  20 {
    special = list
    special.value = 266,20,21,5
  
    1 = TMENU
    1 {
      noBlur = 1
      NO = 1
      NO {
        allWrap = |&nbsp;&Iota;&nbsp; |*| |&nbsp;&Iota;&nbsp; || |&nbsp;&Iota;&nbsp; || |
      }
    }
  }
}
[else]
lib.topNav = COA
lib.topNav {
  10 = TEXT
  10 {
    value = Login
    typolink {
      parameter = 264
    }
    wrap = |&nbsp;&Iota;&nbsp;
  }
  20 = HMENU
  20 {
    special = list
    special.value = 20,21,5
  
    1 = TMENU
    1 {
      noBlur = 1
      NO = 1
      NO {
        allWrap = |&nbsp;&Iota;&nbsp; |*| |&nbsp;&Iota;&nbsp; || |
      }
    }
  }
}
[global]

Wenn man noch nicht angemeldet ist, wird das zweite Menü angezeigt.
Der Login button führt auf eine Seite mit nem Login Formular. Nach
dem Login wird das erste Menü angezeigt mit nem Link "Logout", der im Prinzip nur
das Logout bewirkt.

Falls was nicht klar is, einfach noch mal fragen. Vielleicht gibt es auch
ne einfachere Variante. 🙂