Zum Inhalt springen

"Anmelde-Link" nur wenn noch nicht eingeloggt???

Erstellt am 18. April 2006 · 8 Antworten · letzte Antwort am 19. April 2006

Tags: Frontend-Benutzer, Frage

laufkraft ·

Hallo,

ich habe die sr_feuser_register installiert und möchte nun über einen Button, der immer über einen Marker angesprochen wird (auf jeder Seite) auf meine Login-Seite verweisen. Der "Anmelden-Button" soll natürlich nur angezeigt werden wenn der User noch nicht angemeldet ist. Wie mache ich dass, bestenfalls, dass wenn der User angemeldet ist, oben noch der Username erscheint.
Habt ihr da einen Tipp?

Mit der Suche habe ich nicht das passende gefunden... 😢

Oli

jweiland ·

Kann man über eine Bedingung in Typoscript realisieren:

temp.login_logout = TEXT
temp.login_logout.insertData = 1

temp.login_logout.value (
*** hier das Anmeldeformular definieren ***
)

[usergroup = *]

temp.login_logout.value (
*** Hier den Usernamen anzeigen, bzw. den Abmeldelink definieren ***
)
[global]

page.10.subparts.login < temp.login_logout

der Teil mit [usergroup = *] gilt immer dann, wenn ein beliebiger User eingeloggt ist.

Jochen Weiland

laufkraft ·

Super, das scheint zu funktionieren - habe ich soweit eingebaut.

Aber wie bekomme ich nun den Button mit dem Link an die von Dir markierte Stelle? Da fehlt mir doch noch etwas Grundwissen. Normalerweise spreche ich ja einen Marker an und lege dort den Seiteninhalt (Button mit Bild) drauf,

LOGIN_BUTTON.20 = CONTENT
          LOGIN_BUTTON.20 {
             table = tt_content
             selelct.oderBy = sorting
              # Inhalte werden mit der SeitenID 999 genommen
             select.pidInList = 999
          }

aber hier liegt ja nun schon Dein

login < temp.login_logout

Mir fehlt da noch etwas Grundlagenwissen.... #paralyzed#

jweiland ·

Einfach den Code für ein HTML Formular dort einfügen (Username/Password/Button). Beispiel siehe Quelltext auf typo3.org oder jweiland.net

Jochen Weiland

laufkraft ·

OK soweit wäre das klar, jedoch wollte ich das etwas anders lösen (Unter anderem wegen der Mehrsprachigkeit)

Nochmal zur Verdeutlichung, ich weiß nicht ob das so rüber gekommen ist.

Ich möchte an dieser Stelle nur einen Button auf dem z.B. "Anmelden" steht. Dieser ist ein Seiteninhalt und ist verlinkt mit meiner Seite mit der sr_feuser_register-Extension.

Wenn der User eingeloggt ist soll hier "Logout" sowie der Username stehen.

Soweit klar, ich muss nur irgendwie an der Stelle wo Du den HTML-Code platzieren würdest, den Seiteninhalt einer Seite ausgeben, daran scheitert es...

Und wie realisiert man eigentlich einen Logout-Button passend zur extension???

jweiland ·

Um einen Content-Record über einen Subpart einzufügen verwende ich folgenden Weg:

page.10.subparts.login = RECORDS
page.10.subparts.login {
   tables = tt_content
   source = 1234 # Datensatznr. des Content-Elements
   dontCheckPid = 1
}

Jochen Weiland

laufkraft ·

#angry#
ich kanns nicht...:

# Anmelde-Button nur wenn Ausgeloggt,
# ansonsten Abmedlebutton und Username

temp.login_logout = RECORDS
#*** hier das Anmeldeformular definieren ***
temp.login_logout {
   tables = tt_content
   source = 629 # Datensatznr. des Content-Elements
   dontCheckPid = 1
} 
 
[usergroup = *]
 
temp.login_logout.value (
*** Hier den Usernamen anzeigen, bzw. den Abmeldelink definieren ***
)
[global]
 
#page.10.subparts.login < temp.login_logout 

# Default PAGE object:
page = PAGE
page {
     typeNum = 0
     ...
     ...
     10.marks {
     
     ANMELDEN < temp.login_logout 

     ...
     ...

Marker wird angesprochen, es erscheint aber nichts

jweiland ·

Hmmm, der Code sieht soweit gut aus. Ich würde mal probieren, nicht das temp-Objekt zu verwenden, sondern gleich page.10.marks.ANMELDEN = RECORDS

Jochen Weiland

laufkraft ·

Habs nun hinbekommen... DANKE!

hier der Vollständigkeit halber noch mein TS:

#---------------------------------------------------
#      Anmeldebutton definieren
#---------------------------------------------------

temp.login_logout = CONTENT
temp.login_logout {
           table = tt_content
           select.orderBy = sorting
           select.where = colPos = 0
           select.pidInList = 576       
        } 


[usergroup = *]
 
temp.login_logout = CONTENT
temp.login_logout {
           table = tt_content
           select.orderBy = sorting
           select.where = colPos = 0
           select.pidInList = 578       
        } 

[global]

# Default PAGE object:
page = PAGE
page {
     typeNum = 0
...
...
     # Die Designvorlage integrieren
     10 = TEMPLATE
...
...
     10.marks {
      ANMELDEN < temp.login_logout
...
...