Zum Inhalt springen

Problem mit Login Box

Erstellt am 23. August 2008 · 6 Antworten · letzte Antwort am 24. August 2008

Tags: Frage

Ulf Hallmann ·

Hallo,

ich habe eine Web-Seite an der ich die Standard Login-Box von Typo3 Version 4.0.2 mittels des folgenden TS Scripts:

a.) auf einen Marker ###LOGIN### gelegt habe, und
b.) entsprechend meiner Anforderungen formatiere

page.10.marks.LOGIN < tt_content.login.20
page.10.marks.LOGIN {
      layout = <tr><td class="csc-form-labelcell" align="center">###LABEL###</td></tr><tr><td class="csc-form-fieldcell" align="center">###FIELD###</td></tr>
      dataArray {
              10.type = *user = input, 10, 30
              20.type = *pass = password, 10, 30
          }
      stdWrap.wrap = <table border="0" cellspacing="1" cellpadding="1" width="130" valign="top" align="center" class="csc-loginform"> | </table>
      hiddenFields.pid.value = 34
    }

Die beiden Zuweisung in Zeile 5 und 6 definieren wie gewünscht die Größe des Eingabefeldes, aber folgender Effekt tritt ein:

Nach erfolgreichen Login bleiben beide Felder im Gegensatz zu vorher erhalten. Zusätzlich muß ich jetzt zum Ausloggen username + password wieder eingeben.

Wie erhalte ich die normale Logout Funktion wieder?

Besten Dank für Eure Hilfe,

Ulf

Ulf Hallmann ·

Also, mühsam kommt man langsam weiter. Nachdem ich das TS-Skript wie folgt geändert habe:

[usergroup = *]

page.10.marks.LOGIN < tt_content.login.20
page.10.marks.LOGIN {
      stdWrap.wrap = <table border="0" cellspacing="1" cellpadding="1" width=130 valign=bottom align=center class="csc-loginform">|</table>
      layout = <tr><td class="csc-form-labelcell" align=center>###LABEL###</td></tr><tr><td class="csc-form-fieldcell" align=center>###FIELD###</td></tr>
      dataArray {
              10.type = *user= hidden
              20.type = *pass= hidden
           }
      hiddenFields.pid.value = 34
    }

[else]

page.10.marks.LOGIN < tt_content.login.20
page.10.marks.LOGIN {
      stdWrap.wrap = <table border="0" cellspacing="1" cellpadding="1" width=130 valign=bottom align=center class="csc-loginform">|</table>
      layout = <tr><td class="csc-form-labelcell" align=center>###LABEL###</td></tr><tr><td class="csc-form-fieldcell" align=center>###FIELD###</td></tr>
      dataArray {
              10.type = *user=input, 12, 30
              20.type = *pass=password, 12, 30
           }
      hiddenFields.pid.value = 34
    }

verschwinden nach dem Einloggen Die Username: und Password: Felder. Nur fehlt mir jetzt, bzw. immer noch die Anzeige "username: name".

Hat da jemand vielleicht einen Tipp?

Gruss,

Ulf

SLAng ·
[loginUser = *]
temp {
	USER = TEXT
	USER {
		data = TSFE:fe_user|user|username
		noTrimWrap = |Angemeldet als: ||
	}
}
[global]
Ulf Hallmann ·

Hallo SLAng,

besten Dank für die Antwort, aber leider ändert sich nichts.

Das Script sieht jetzt wie folgt aus:

[usergroup = *]

page.10.marks.LOGIN < tt_content.login.20
page.10.marks.LOGIN {
      stdWrap.wrap = <table border="0" cellspacing="1" cellpadding="1" width=130 valign=bottom align=center class="csc-loginform">|</table>
      layout = <tr><td class="csc-form-labelcell" align=center>###LABEL###</td></tr><tr><td class="csc-form-fieldcell" align=center>###FIELD###</td></tr>
      dataArray {
              10.type = *user= hidden
              20.type = *pass= hidden
           }
      hiddenFields.pid.value = 34
    }

[else]

page.10.marks.LOGIN < tt_content.login.20
page.10.marks.LOGIN {
      stdWrap.wrap = <table border="0" cellspacing="1" cellpadding="1" width=130 valign=bottom align=center class="csc-loginform">|</table>
      layout = <tr><td class="csc-form-labelcell" align=center>###LABEL###</td></tr><tr><td class="csc-form-fieldcell" align=center>###FIELD###</td></tr>
      dataArray {
              10.type = *user=input, 12, 30
              20.type = *pass=password, 12, 30
           }
      hiddenFields.pid.value = 34
    }

[loginUser = *]

   temp {
       USER = TEXT
       USER {
           data = TSFE:fe_user|user|username
           noTrimWrap = |Angemeldet als: ||
       }
   }

[global]

Oder habe ich etwas missverstanden? Nach dem erfolgreichen einloggen sehe ich nur den Kogout Button. Was ich gerne hätte wäre die Anzeige: "logged in as: username"

Danke, Ulf

SLAng ·

Ja habe ich schon verstanden... Ich kenne aber deinen Wissenstand in Sachen TS nicht, daher habe ich es kurz gehalten...

temp... ist das temp-Objekt... USER die Bezeichnung, die eigentlich auf den Marker kopiert werden soll.... ich kann sooo schlecht erklären... 8-)

Also du musst in deiner HTML-Vorlage einen Marker ###USER### erstellen, an der Stelle wo nachher die Meldung "Eingelogt als xy" erscheinen soll...

Den sprichst du dann an mittels:

page.10.marks.USER

und kopierst dann temp.USER darauf...

Also zusammen:

[loginUser = *]
temp {
        USER = TEXT
        USER {
                data = TSFE:fe_user|user|username
                noTrimWrap = |Angemeldet als: ||
        }
}
[global]

page.10.marks.USER < temp.USER

Du kannst es auch mit nem ELSE erweitern:

[loginUser = *]
temp {
        USER = TEXT
        USER {
                data = TSFE:fe_user|user|username
                noTrimWrap = |Angemeldet als: ||
        }
}
[else]
temp {
	USER = TEXT
	USER {
		value = Sie sind nicht eingeloggt
		wrap = |
	}
}
[global]

Wenn dein PAGE-Objekt nicht page sondern zum Beispiel Seite heißt, dann musst du das dementsprechend anpassen.

Ulf Hallmann ·

Hallo SLAng,

jetzt haben wir es. Aber ich muß trotzdem nochmal nachfragen (meine TYPO3 Kenttnisse sind doch eher begrenzt). Warum kann ich mein Originalskript nicht entsprechend erweiteren (und wenn wie?) um das gewünschte Ergebnis zu erzielen. Wenn ich die Original Login-Box verwende, funktioniert ja alles so wie ich will (incl. Anzeige Username).

Mit:

page.10.marks.LOGIN < tt_content.login.20

mach ich doch nichts anderes als das Original zu übernehmen und anschließend entsprechend meine Wünschen anzupassen.

Dank und Gruß,

Ulf

SLAng ·

Ich denke schon dass man das erweitern kann...
Ganz ehrlich würde ich mir an deiner Stelle aber generell die Zeit dafür sparen, denn es gibt gute Extensions die dich nach dem Login auch noch nach deinen Wünschen weiterleiten und ausgeben was du willst...
Also warum baust du dir da alles von Hand zusammen und verwendest auch noch Tabellen dafür? Warum testest du nicht mal felogin an?
Ich denke damit kannst du dir ne Menge Zeit sparen und es läuft anschließend optimal.