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


  • puzzi puzzi
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    10. 10. 2004, 11:56

    Hi Sacha,
    ich bin schon ganz heiss deine lösung (s. quote) einzusetzten, aberrr
    leider habe ich das problem, dass die <a href="index.php?... aus dem HTML-template durch den "relPathPrefix = fileadmin/template/main/" ergänzt werden.
    ich bin nach der MTB 2,3 vorgegangen muss unbedingt von der relPathPrefix gebrauch machen.

    Wie Löst du das Problem?
    ich bin am verzweifeln.

    mfg

    puzzi

    [quote:941da96d7c="sacha"]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:941da96d7c]
    <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:941da96d7c]

    (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:941da96d7c]
    #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:941da96d7c]
    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:941da96d7c]
    [usergroup = *]
    Logout code & sonstiges TS here
    [else]
    Login code & sonstiges TS here
    [global]
    [/code:1:941da96d7c]
    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[/quote:941da96d7c]

  • 3dsoft 3dsoft
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    14. 10. 2004, 14:15

    hi boys &girls,
    ich versuche auch schon länger den typoscript code für templavoila zu modifizieren....
    leider erfolglos.... meine menüs laufen aber problemlos, eigentlich müsste die login box doch so ähnlich wie ein menü aufgebaut sein?!

    ...jetzt bräuchte ich so eine "Kerry" aussage: "help is on the way!"

    see ya

  • kristian kristian
    T3PO
    0 x
    18 Beiträge
    0 Hilfreiche Beiträge
    25. 02. 2005, 10:54

    Hi Leute,

    mein System:

    Typo 3.7.0
    Template Auto-Parser

    Ich habe den Code

    [code:1:aac1195198][usergroup = *]
    temp.10 = TEXT
    temp.10.data = TSFE : id
    temp.10.wrap (
    <form action="index.php?id= | " method="post">
    <table width=150 border="0" cellpadding="0" cellspacing="0">
    <tr><td align="right" nowrap> Login: <b><!--###USERNAME###--> </b>   <input type="image"
    src="fileadmin/pmf/pix/exit.gif" width="18" height="18" alt="Logout" title="Logout" border="0" align="absbottom"></td>

    </tr> </table> <input type="hidden" name="logintype" value="logout" > </form>
    )

    [else]
    temp.10 = TEXT
    temp.10.data = TSFE : id
    temp.10.wrap (
    <form action="index.php?id=<b>446</b>" 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/pmf/pix/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="<b>448</b>" >
    </form>
    )
    [global]
    [/code:1:aac1195198]

    von Typ03faq.net übernommen und ins Setup des Templates eingetragen.

    Im workOnSubpart Bereich steht folgendes:

    [code:1:aac1195198]
    temp.mainTemplate = TEMPLATE
    temp.mainTemplate {
    # Feeding the content from the Auto-parser to the TEMPLATE cObject:
    template =< plugin.tx_automaketemplate_pi1
    # Select only the content between the <body>-tags
    workOnSubpart = DOCUMENT_BODY
    #subparts.content = TEXT
    #subparts.content.value = Hallo!

    # Substitute the ###content### subpart with some example content:
    subparts.inhalt < styles.content.get

    subparts.headline < styles.header.get

    subparts.navigation < temp.navigation

    marks.LOGIN < temp.10
    }
    [/code:1:aac1195198]

    Habe in mein template den Marker gesetzt.
    [code:1:aac1195198]

    <!-- ###LOGIN### -->
    <form action="http://xxxx/index.php?id=26" method="post">
    <table cellpadding="0" cellspacing="0" id="login_menu" width="100%">
    <tr><td colspan="2"><strong>Teilnehmerbereich</strong></td></tr>
    <tr><td>Mitgliedsnr.:</td><td><input type="text" name="user" style="width:100px "></td></tr>
    <tr><td>Passwort:</td><td><input type="password" name="pass" style="width:100px ">
    <input type="hidden" name="logintype" value="login" />
    <input type="hidden" name="pid" value="25" />
    <input type="hidden" name="redirect_url" value="" /></td></tr>
    <tr><td colspan="2">Sie sind nicht eingeloggt.   <a href="javascript:document.forms[1].submit();"><img src="images/go.gif" style="margin:0px; vertical-align:text-bottom" border="0" /></a></td></tr>
    </table></form>
    <!-- ###LOGIN### END-->
    [/code:1:aac1195198]

    Leider zeigt er mir nicht den Code aus dem Setup an sondern meinen Standard Login aus dem Template.

    Kann mir jemand sagen was ich falsch mache?

    Vielen Dank schon mal im voraus.

    Gruß Kristian [/code]

  • kristian kristian
    T3PO
    0 x
    18 Beiträge
    0 Hilfreiche Beiträge
    25. 02. 2005, 11:01

    :D

    Antworten sind nicht mehr nötig, hab mein Problem grad noch selbst gelöst.

    marks.LOGIN durch subparts.LOGIN ersetzt, dann hat alles wunderbar funktioniert.

    Ciao Kristian

  • mtness mtness
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    22. 03. 2005, 19:17

    [quote:c358b7873b="cookie"]Das mit Templavoila würde mich auch Interessieren.
    Wenn jemand eine Idee hätte wäre ich ihm wirklich dankbar.[/quote:c358b7873b]

    yeeha!

    ich hab gerade mal probiert das Perma-Login mit templavoila zu erstellen, und es hat auf Anhieb funktioniert!
    *freu*

    Mal schaun ob ich das nachvollziehen kann:

    Zunächst braucht Ihr in eurem template
    eine pseudo-login-form.
    (idealerweise gleich die HTML - form verwenden,
    die Ihr auch im TypoScript benutzt ;-)

    Dann solltet ihr in der TemplaVoila Data Structure (DS)
    ein neues Element "Login" erstellen
    //Darauf achten, dass es ein TypoScript Object ist!

    Dann solltet Ihr das hier besprochene TypoScript
    im Template - Setup einfügen.

    als letzte Zeile sollte dann das hier stehen:
    [code:1:c358b7873b]
    lib.LOGIN < temp.10
    [/code:1:c358b7873b]
    // also anstatt marks.LOGIN < temp.10

    Dann geht Ihr wieder in den Storage Folder
    um Eure TemplaVoila Data Structure zu bearbeiten.
    Im XML - edit findet IHr dann Euer bekanntes <objPath>lib.myObject </objPath>
    (siehe FTB/1)
    dieses dann in [code:1:c358b7873b]<objPath>lib.LOGIN</objPath>[/code:1:c358b7873b]
    umbennen.

    speichern und darauf achten, das im Template Object auch alles gewünschte markiert ist.

    Dann am Ende am besten nochmal ClearCache:All
    machen,

    und es sollte dann eigentlich funktionieren.

    ok, ist vielleicht nicht die eleganteste Art, aber doch nachvollziehbar. Ich weiß nämlich nicht, wie es anders gehen könnte. Aber so habe ich die funktionsweise von TemplaVoila verstanden 8-)

    Ich hoffe das es jemanden hilft!

    Bei Fragen stehe ich gerne zur Verfügung.

    Viele Grüße,

    der Markus

  • Bajo Bajo
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    01. 04. 2005, 10:01

    [quote:f872f3402b="mtness"]
    yeeha!

    ich hab gerade mal probiert das Perma-Login mit templavoila zu erstellen, und es hat auf Anhieb funktioniert!
    *freu*

    Mal schaun ob ich das nachvollziehen kann:

    Zunächst braucht Ihr in eurem template
    eine pseudo-login-form.
    (idealerweise gleich die HTML - form verwenden,
    die Ihr auch im TypoScript benutzt ;-)

    Dann solltet ihr in der TemplaVoila Data Structure (DS)
    ein neues Element "Login" erstellen
    //Darauf achten, dass es ein TypoScript Object ist!

    [b:f872f3402b]Dann solltet Ihr das hier besprochene TypoScript
    im Template - Setup einfügen.[/b:f872f3402b]

    als letzte Zeile sollte dann das hier stehen:
    [code:1:f872f3402b]
    lib.LOGIN < temp.10
    [/code:1:f872f3402b]
    // also anstatt marks.LOGIN < temp.10

    Dann geht Ihr wieder in den Storage Folder
    um Eure TemplaVoila Data Structure zu bearbeiten.
    Im XML - edit findet IHr dann Euer bekanntes <objPath>lib.myObject </objPath>
    (siehe FTB/1)
    dieses dann in [code:1:f872f3402b]<objPath>lib.LOGIN</objPath>[/code:1:f872f3402b]
    umbennen.

    speichern und darauf achten, das im Template Object auch alles gewünschte markiert ist.

    Dann am Ende am besten nochmal ClearCache:All
    machen,

    und es sollte dann eigentlich funktionieren.

    ok, ist vielleicht nicht die eleganteste Art, aber doch nachvollziehbar. Ich weiß nämlich nicht, wie es anders gehen könnte. Aber so habe ich die funktionsweise von TemplaVoila verstanden 8-)

    Ich hoffe das es jemanden hilft!

    Bei Fragen stehe ich gerne zur Verfügung.

    Viele Grüße,

    der Markus[/quote:f872f3402b]

    Hi Markus,

    versuche jetzt schon seit 3 Tagen :o dieses perm-Login mit Templavoila zu realisieren, leider ohne Erfolg.

    Habe es so gemacht wie von dir beschrieben nur haperts mit dem TS. Welches TypoScipt genau meinst du denn mit "hier besprochenem" ?

    Habe es schon mit allen in diesem thread geposteten probiert.

    gruß bajo[/b]

  • mtness mtness
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    11. 04. 2005, 16:42

    Moin bajo!

    ok dann probiers mal mit dem TS, das ich hier benutze:

    [code:1:55b1c69e57]

    #Wenn eine Anmeldung erfolgt ist, wird der folgende Part angezeigt.
    [usergroup = *]
    temp.20 = TEXT
    temp.20.data = TSFE : id
    temp.20.wrap (
    <form action="index.php?id=|" method="post">
    <table width="256" height="32" border="0" cellpadding="0" cellspacing="0" class="logintable">
    <tr>
    <td align="right" nowrap> Login ID: <!--###USERNAME###-->  <input type="image" src="fileadmin/templates/mtness/images/exit.gif" width="18" height="18" alt="Logout" title="Logout" border="0" align="bottom">
    </td>
    </tr>
    </table>
    <input type="hidden" name="logintype" value="logout" >
    </form>
    )

    #Ansonsten wird der [else] Zweig angezeigt
    [else]
    temp.20 = TEXT
    temp.20.data = TSFE : id
    temp.20.wrap (
    <form action="index.php?id=90" method="post">
    <table width="256" height="32" 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" class="inputfields">
    <input name="pass" type="password" id="pass" title="Passwort" onfocus="if(this.value==this.defaultValue) this.value=''" value="" size="4" class="inputfields">
    <input name="image" type="image" title="Login" src="fileadmin/templates/mtness/images/lock.gif" alt="Login" align="bottom" width="18" height="18" border="0"> </td>
    <input type="hidden" name="redirect_url" value="index.php?id= | " />
    </td>
    </tr>
    </table>
    <input type="hidden" name="logintype" value="login" >
    <input type="hidden" name="pid" value="74" >
    </form>
    )
    [global]

    lib.LOGIN < temp.20
    [/code:1:55b1c69e57]

    wichtig ist hierbei folgendes:
    die PID 90 ist die ID von der Login - seite.
    die PID 74 ist die ID vom Storage Folder,
    in dem auch die TO/DS von Templavoila liegen.

    die PIDs sind bei Dir sehr wahrscheinlich anders.

    Und dann ist es ganz wichtig, das Du das lib.myObjekt in lib.LOGIN umbenennst! imXML Baum... dazu siehe
    Futuristic Template Building
    [url]http://typo3.org/documentation/document-library/doc_tut_ftb1/Creating_the_dynamic/[/url]

    auch das temp.20 kann bei Dir eine andere Nummer haben, ganz wie Du willst.

    Ich hoffe das es Dir weiterhilft...

    Viele Grüße,

    der Markus

  • kyle kyle
    Padawan
    0 x
    38 Beiträge
    0 Hilfreiche Beiträge
    12. 04. 2005, 21:43

    hallo!

    ich habe den geposteten code von mtness einmal in meine seite eingebaut und etwas abgeändert.

    [code:1:d52eeb7938][usergroup = *]
    temp.10 = TEXT
    temp.10.data = TSFE : id
    temp.10.wrap (
    <form action="index.php?id=|" method="post">
    Login ID: <!--###USERNAME###-->  <input type="image" src="fileadmin/templates/mtness/images/exit.gif" width="18" height="18" alt="Logout" title="Logout" border="0" align="bottom">
    <input type="hidden" name="logintype" value="logout" >
    </form>
    )
    #Ansonsten wird der [else] Zweig angezeigt
    [else]
    temp.10 = TEXT
    temp.10.data = TSFE : id
    temp.10.wrap (
    <form action="index.php?id=122" method="post">
    <input name="user" type="text" id="user" title="Benutzername" onfocus="if(this.value==this.defaultValue) this.value=''" value="" size="4" class="inputfields">
    <input name="pass" type="password" id="pass" title="Passwort" onfocus="if(this.value==this.defaultValue) this.value=''" value="" size="4" class="inputfields">
    <input name="image" type="image" title="Login" src="fileadmin/templates/mtness/images/lock.gif" alt="Login" align="bottom" width="18" height="18" border="0">
    <input type="hidden" name="redirect_url" value="index.php?id= | " />
    <input type="hidden" name="logintype" value="login" >
    <input type="hidden" name="pid" value="120" >
    </form>
    )
    [global]

    lib.myLogin < temp.10[/code:1:d52eeb7938]

    die lib wird angezeigt, allerdings meldet er den user scheinbar nicht an. es wird aber erkannt, wenn ich mich über ein anderes form anmelde.

    mein
    storage folder=120
    user folder=111

    nach dem login möchte ich gerne auf die seite mit der id49 kommen.

    danke

  • mtness mtness
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    13. 04. 2005, 08:52

    Moin Kyle!

    wenn Du einen User und einen Storage Folder hast,
    dann musst Du glaub ich nicht den Storage folder angeben, sondern den User - folder, nehme ich an...

    und im TS hast Du die ID 122 für die Login- Seite...

    wenn Du nach dem Login auf die PID 49 willst, musst Du das mal anstatt der PID122 angeben...
    ob das aber so funzt weiss ich nicht.

    Schau ich mir nochmal genauer an.

    Viele Grüße und eine schöne Zeit!

    der Markus