Hi!
Vielleicht sehe ich den Wald vor lauter Bäumen nicht, aber wie kann man die Login-Box so in sein Template integrieren, dass sie auf jeder Seite erscheint? Bisher habe ich nur den Weg über ein Content-Element gefunden, aber das müsste ich ja wohl auf jeder Seite anlegen.
Hat jemand 'ne Idee :o
cu
maxhb
Hi,
wenn du die Better-Login Box so wie auf typo3.org einsetzen willst, beschreibe ich hier einen moeglichen Loesungsweg der bei mir gut funktioniert:
folgender Code kommt ins HTML-Template:
<div id="login">
<a href="index.php?id=210" class="sidenavlink">Login</a>
<form action="index.php?id=210" method="post">
<div id="loginwrapper">
<input id="username" name="user" type="text" value="" title="Enter your username here" onfocus="if
(this.value==this.defaultValue) this.value=''" />
<br />
<input id="pwfield" name="pass" type="password" value="" title="Enter your password here" onfocus="if
(this.value==this.defaultValue) this.value=''" /><input type="image" src="fileadmin/images/layout/lock.gif" width="16" height="17" alt="Login"
title="Login" border="0" />
<input type="hidden" name="logintype" value="login" />
###CPID###
<input type="hidden" name="pid" value="208" />
</div>
</form>
</div>
(pid 208 ist die pid meines frontend user Ordners und
index.php?id=210 ist die Seite, auf der ich die better login box eingebaut habe)
und nun der Code fuer das TS-Template:
#marker CPID mit der page-ID der aktuellen Seite fuellen
marks.CPID = TEXT
marks.CPID.data = TSFE : id
marks.CPID.wrap = <input type="hidden" name="redirect_url" value="index.php?id= | " />
Was noch fehlt, ist das der Username und ein Logout-Symbol statt der Login-Box eingeblendet werden, wenn man sich angemeldet hat.
Das muesste recht einfach auf diese Art zu realisieren sein:
[usergroup = *]
Logout code & sonstiges TS here
[else]
Login code & sonstiges TS here
[global]
Rest des Templates
Die o. a. Sachen sollten auch mit der normalen Loginbox funktionieren.
Wenn du noch Fragen dazu hast, melde dich einfach.
Ciao,
Sacha
hallo sacha,
danke für die gute anleitung. bei mir funktioniert alles bis auf
[usergroup = *]
Logout code & sonstiges TS here
[else]
Login code & sonstiges TS here
[global]
ich nutze marks und diese werden nicht mehr gefüllt, sobald ich die abfrage setzte.
könntest du bitte aufzeigen, wie der logout code aussehen sollte.
gracias 😃
mfg
bk
ok, ich bin jetzt ein stück weiter...
1. habe bei mir ein marker ###LOGIN### im designtemplate angelegt.
2. im setup folgendes reingeschrieben:
[usergroup = *]
temp.10 < tt_content.login
[else]
temp.10 = HTML
temp.10.value (
<div id="login"> <a href="index.php?id=17" class="sidenavlink">
Login</a>
<form action="index.php?id=17" method="post">
<div id="loginwrapper">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> <div align="center">
<input name="user" type="text" id="user" title="Enter your username here" onfocus="if
(this.value==this.defaultValue) this.value=''" value="" size="5" />
</div></td>
<td> <div align="center">
<input name="pass" type="password" id="pass" title="Enter your password here" onfocus="if
(this.value==this.defaultValue) this.value=''" value="" size="5" >
</div></td>
<td width="20" valign="bottom"> <input name="image" type="image"
title="Login" src="fileadmin/.../lock.gif" alt="Login" align="bottom" width="16" height="17" border="0">
</td>
</tr>
<tr>
<td colspan="3"><input type="hidden" name="logintype" value="login" >
<input type="hidden" name="pid" value="18" > </td>
</tr>
</table>
</div>
</form>
</div>
)
[global]
3. im "workondokument" bereich den marker gefüllt
marks.LOGIN < temp.10
funktioniert soweit, allerdings fehlt noch das redirect auf die akutelle seite. momentan wird man direkt auf die login-seite weitergeleitet.
mfg
bk
hallo zusammen,
das redirect problem ist auch gelöst. manchmal ist es doch ganz einfach 😃
[usergroup = *]
temp.10 < tt_content.login
[else]
temp.10 = TEXT
temp.10.data = TSFE : id
temp.10.wrap (
<form action="index.php?id=17" method="post">
<table width=150 border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right">
<input name="user" type="text" id="user" title="Benutzername" onfocus="if (this.value==this.defaultValue) this.value=''" value="" size="4" />
<input name="pass" type="password" id="pass" title="Passwort" onfocus="if (this.value==this.defaultValue) this.value=''" value="" size="4" >
<input name="image" type="image" title="Login" src="fileadmin/.../lock.gif" alt="Login" align="absbottom" width="18" height="18" border="0"> </td>
<input type="hidden" name="redirect_url" value="index.php?id= | " />
</tr>
</table> <input type="hidden" name="logintype" value="login" > <input type="hidden" name="pid" value="18" >
</form>
)
[global]
mfg
bk
Hi bk,
bk schriebdas redirect problem ist auch gelöst. manchmal ist es doch ganz einfach
gruebel, aber du gibst der Variablen id hier:
<input type="hidden" name="redirect_url" value="index.php?id= | " />
doch gar keinen Wert.
Ich verstehe nicht, wieso der Redirect zurueck auf die aufrufende Seite trotzdem funktioniert.
Werde ich mir mal genauer ansehen....
Hast du was dagegen, wenn ich das als howto auf typo3.org poste?
Ciao,
Sacha
hi sacha,
das gesamte formular wird in "temp.10.wrap" um die zuvor erstellte id gewrappt.
klar kannst du gerne auf typo3 als howto reinstellen 🙂
Hi BK und Sacha!
Das mit dem Einloggen klappt ausgesprochen gut, nur würde ich auch gern für das Logout einen eigenen Dialog benutzen. Habe also folgendes probiert:
[usergroup = *]
temp.10 = TEXT
temp.10.data = TSFE : id
temp.10.wrap (
<tr>
<td class="infobox">
<form action="index.php?id=527" method="post">
<input type="hidden" name="logintype" value="logout" >
<input type="submit" name="submit" value="logout" style="background-color:#FFFFFF; border:solid 1px #000000; font-size:10px;">
<input type="hidden" name="pid" value="0" >
<input type="hidden" name="redirect_url" value="index.php?id= | " />
</form>
</td>
</tr>
)
[else]
...
Login-Code
...
[global]
Damit kann man sich zwar in der Tat ausloggen, nur funktioniert das mit dem Redirect leider in keiner Weise :-(
Irgendwelche Ideen?
cu
maxhb
hi max,
versuch mal folgendes:
temp.10 = TEXT
temp.10.data = TSFE : id
temp.10.wrap (
<tr>
<td class="infobox">
<form action="index.php?id= | " method="post">
<input type="hidden" name="logintype" value="logout" >
<input type="submit" name="submit" value="logout" style="background-color:#FFFFFF; border:solid 1px #000000; font-size:10px;">
</form>
</td>
</tr>
)
mfg
bk
Hi,
> <form action="index.php?id= | " method="post">
wuerde mich sehr wundern, wenn das ginge. Damit wuerdest du ja immer die ID der aktuellen Seite als Formularziel angeben und nicht die ID der Seite, die das Login-Plugin beinhaltet.
Ciao,
Sacha
Hi Sacha!
sacha schrieb
<form action="index.php?id= | " method="post">
wuerde mich sehr wundern, wenn das ginge. Damit wuerdest du ja immer die ID der aktuellen Seite als Formularziel angeben und nicht die ID der Seite, die das Login-Plugin beinhaltet.
Freut mich ja, dass Du das genau wie ich einschätzt, denn dann irre ich mich nicht allein. ES FUNZT!
Ich habe keine Ahnung, warum es so sein muss, aber was soll's.
Thx @ BK
cu
maxhb
hi sascha,
> <form action="index.php?id= | " method="post">
wuerde mich sehr wundern, wenn das ginge. Damit wuerdest du ja immer die ID der aktuellen Seite als Formularziel angeben und nicht die ID der Seite, die das Login-Plugin beinhaltet.
du loggst dich damit ja aus, daher solltest du nach dem logout auf die gleiche seite springen auf der du vor dem logout warst.
mfg
bk
hallo leute,
ich wollte den logout genau so wie auf typo3.org erstellen, allerdings kann ich momentan ohne weiteres nicht auf den angemeldeten user zugreifen.
auf typo3.org wurde scheinbar das php-script verändert. funktioniert auch bei einer änderung am script, allerdings ist das beim nächsten update wieder futsch.
ich möchte jetzt natürlich auch den aktuell angemeldeten benutzer ausgeben. hat jemand eine idee, wie ich über ts auf den angemeldeten user zugreifen kann?
mfg
bk
Hi!
bk schriebich möchte jetzt natürlich auch den aktuell angemeldeten benutzer ausgeben. hat jemand eine idee, wie ich über ts auf den angemeldeten user zugreifen kann?
@BK: Schön, dass Du meien Frage vorweggenommen hast 😉
Soll heissen, ich brüte gerade in der selben Sache, werde die Fortschritte natürlich hier posten.
Schönen Tag noch
maxhb
P.S.: Unter PHP kann man mit $GLOBALS['TSFE']->fe_user->user['username'] auf den Benutzernamen zugreifen, kann man das unter TS nicht ähnlich machen?
Hi!
Nach dem Studium von tslib/class_tslib_fe.php ist alles klar! Einfach den
<!--###USERNAME###-->
an die Stelle im Template setzen, wo der Username auftauchen soll - fertig!
hope that helps
maxhb
maxhb schrieb
<!--###USERNAME###-->
lol, das ist so naheliegend, dass man einfach nicht drauf kommt....
hi max,
hat super funktioniert. werde das ganze heute abend als howto auf http://www.typo3faq.net setzten.
mfg
bk
Hi!
Naja, bevor Du das als HowTo raustutst sollten wir noch versuchen eines zu klären, ich sage nur "Mehrsprachigkeit" 😉
Dank unserer kleinen Diskussion läuft mitlerweile alles bestens bei mir, nur erstelle ich gerade eine zweisprachige Website (deutsch/englisch) und dementsprechnd würde ich natürlich gern die Texte für die Anmeldung (Benutzername / Passwort) auch zweisprachig gestalten.
Wie kann man vermeiden, dass man mit 4 Fällen (2 Sprachen + Login + Logout) arbeiten muss? Das muss doch eleganter gehen, indem man irgendwie die entsprechenden Übersetzungen "einbeamt".
Irgend welche Ideen?
maxhb
hallo max,
hast recht, man sollte drüber nachdenken. da ich keine zweisprachigkeit auf der seite habe ist mir das nicht aufgefallen.
werde auch mal drüber grübeln.
mfg
bk
Hallo ich bin ganz neu hier (auch in Typo3) und habe zwecks einer Login-Box euren Code verwendet. Einloggen & anschließender Redirect auf die "betterloginbox" funktioniert einwandfrei, bloß das mit dem Auslogg-Formular/button-in-der-Box will nicht funktionieren. Nachdem man sich eingeloggt hat bleibt der Login-Dialog-in-der-Box bestehen und man hat nur die Möglichkeit sich über die "betterloginbox" auf der Redirect-Seite auszuloggen
Das How-To das ihr veröffentlichen wolltet habe ich leider noch nicht gefunden. - Existiert es schon ?
Ich habe den Code folgendermaßen in mein Template eingefügt.Vielleicht
hat eventuell jemand die Zeit, sich das anzugucken :
ID : 101 = SysOrdner mit Benutzergruppe "Kunden" mit momentan 2 Benutzern
ID : 130 = Kundenbereich-Startseite mit einer "betterloginbox"
###LOGIN### ist ein marker den ich auf meinem template.html benutzt habe
[usergroup = Kunden] [i]# Ist das richtig? Oder doch "*" lassen?[/i]
temp.10 < tt_content.login
temp.10 = TEXT
temp.10.data = TSFE : id
temp.10.wrap (
<tr>
<td class="infobox">
<form action="index.php?id= | " method="post">
<input type="hidden" name="logintype" value="logout" >
<input type="submit" name="submit" value="logout" style="background-color:#FFFFFF; border:solid 1px #000000; font-size:10px;">
</form>
</td>
</tr>
)
[else]
temp.10 = TEXT
temp.10.data = TSFE : id
temp.10.wrap (
<form action="index.php?id=130" method="post">
<table width=150 border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right">
<input name="user" type="text" id="user"
title="Benutzername" onfocus="if
(this.value==this.defaultValue) this.value=''" value=""
size="4" />
<input name="pass" type="password" id="pass"
title="Passwort" onfocus="if
(this.value==this.defaultValue) this.value=''" value=""
size="4" >
<input name="image" type="image" title="Login"
src="media/bullets/blackdot.gif" alt="Login"
align="absbottom" width="18" height="18"
border="0"> </td>
<input type="hidden" name="redirect_url"
value="index.php?id= | " />
</tr>
</table> <input type="hidden" name="logintype" value="login" > <input type="hidden" name="pid" value="101" >
</form>
)
[global]
page.10.marks.LOGIN < temp.10
Habe ich vielleicht irgendetwas in der Reihenfolge verwechselt... ???
Was könnte bloß falsch sein ?
Danke,
Borys