New front end login box Frage

  • maxhb maxhb
    Flash Gordon
    0 x
    2148 Beiträge
    0 Hilfreiche Beiträge
    02. 04. 2003, 15:39

    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


  • sacha sacha
    Jedi-Meister
    0 x
    301 Beiträge
    0 Hilfreiche Beiträge
    02. 04. 2003, 22:10

    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:

    [code:1:5ee1fe87be]
    <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>
    [/code:1:5ee1fe87be]

    (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:

    [code:1:5ee1fe87be]
    #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= | " />
    [/code:1:5ee1fe87be]
    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:

    [code:1:5ee1fe87be]
    [usergroup = *]
    Logout code & sonstiges TS here
    [else]
    Login code & sonstiges TS here
    [global]
    [/code:1:5ee1fe87be]
    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

  • bk bk
    Jedi-Meister
    0 x
    500 Beiträge
    0 Hilfreiche Beiträge
    04. 04. 2003, 14:14

    hallo sacha,

    danke für die gute anleitung. bei mir funktioniert alles bis auf

    [quote:a0cc86dad7][usergroup = *]
    Logout code & sonstiges TS here
    [else]Login code & sonstiges TS here
    [global][/quote:a0cc86dad7]

    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 :D

    mfg

    bk

  • bk bk
    Jedi-Meister
    0 x
    500 Beiträge
    0 Hilfreiche Beiträge
    04. 04. 2003, 16:04

    ok, ich bin jetzt ein stück weiter...

    1. habe bei mir ein marker ###LOGIN### im designtemplate angelegt.

    2. im setup folgendes reingeschrieben:

    [code:1:5adb0ccfac]
    [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] [/code:1:5adb0ccfac]

    3. im "workondokument" bereich den marker gefüllt

    [code:1:5adb0ccfac]marks.LOGIN < temp.10[/code:1:5adb0ccfac]

    funktioniert soweit, allerdings fehlt noch das redirect auf die akutelle seite. momentan wird man direkt auf die login-seite weitergeleitet.

    mfg

    bk

  • bk bk
    Jedi-Meister
    0 x
    500 Beiträge
    0 Hilfreiche Beiträge
    05. 04. 2003, 00:32

    hallo zusammen,

    das redirect problem ist auch gelöst. manchmal ist es doch ganz einfach :D

    [code:1:539aef835a][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] [/code:1:539aef835a]

    mfg

    bk

  • sacha sacha
    Jedi-Meister
    0 x
    301 Beiträge
    0 Hilfreiche Beiträge
    05. 04. 2003, 12:11

    Hi bk,

    [quote:3aa7d40ba5="bk"]das redirect problem ist auch gelöst. manchmal ist es doch ganz einfach[/quote:3aa7d40ba5]
    gruebel, aber du gibst der Variablen id hier:
    [code:1:3aa7d40ba5]<input type="hidden" name="redirect_url" value="index.php?id= | " />[/code:1:3aa7d40ba5]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

  • bk bk
    Jedi-Meister
    0 x
    500 Beiträge
    0 Hilfreiche Beiträge
    06. 04. 2003, 08:53

    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 :)

  • maxhb maxhb
    Flash Gordon
    0 x
    2148 Beiträge
    0 Hilfreiche Beiträge
    07. 04. 2003, 18:19

    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:
    [code:1:fd1caf3c0d]
    [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]
    [/code:1:fd1caf3c0d]
    Damit kann man sich zwar in der Tat ausloggen, nur funktioniert das mit dem Redirect leider in keiner Weise :-(

    Irgendwelche Ideen?

    cu
    maxhb

  • bk bk
    Jedi-Meister
    0 x
    500 Beiträge
    0 Hilfreiche Beiträge
    07. 04. 2003, 19:01

    hi max,

    versuch mal folgendes:

    [code:1:51d68d437e]

    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>
    )

    [/code:1:51d68d437e]

    mfg

    bk

  • sacha sacha
    Jedi-Meister
    0 x
    301 Beiträge
    0 Hilfreiche Beiträge
    07. 04. 2003, 19:08

    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