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


  • eichbaum eichbaum
    Jedi-Ritter
    0 x
    141 Beiträge
    0 Hilfreiche Beiträge
    10. 07. 2003, 12:27

    Ich bin anscheinend zu doof...

    Ich habe es exakt so gemacht wie im [url=http://www.o4w.de/typo3faq/index.php?sid=8284&aktion=artikel&rubrik=003&id=38&lang=de]Workaround[/url] - aber nix passiert.

    Allerdings bin ich mir nicht sicher, wo die Schleife verbaut wird. Ich habe sie ins Setup geschrieben - unter alle anderen Angaben. Also quasi:

    [code:1:4b66b933ee]
    ...
    subparts.MENU_BOTTOM = HMENU
    subparts.MENU_BOTTOM.special = list
    subparts.MENU_BOTTOM.special.value = 20,89,90
    subparts.MENU_BOTTOM.1 = TMENU
    subparts.MENU_BOTTOM.1.NO {
    ATagParams= class="menutop"
    allWrap =  | |
    }

    #Wenn eine Anmeldung erfolgt ist, wird der folgende Part angezeigt:
    [usergroup = *]

    temp.30 < tt_content.login

    #Ansonsten wird der else-Zweig angezeigt:
    [else]

    temp.30 = TEXT
    temp.30.data = TSFE : id
    temp.30.wrap (
    <form action="index.php?id=52" 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="10" >
    </form>
    )

    [global] [/code:1:4b66b933ee]

    Die "30" habe ich vergeben, weil es schon die Nummern 10 und 20 im Setup gibt - aber das dürfte ja keine Rolle spiele, wenn es konsistent gemacht wird.

    Desweiteren habe ich viiieeel weiter oben im Setup folgendes angegeben:

    [code:1:4b66b933ee]...
    page.10 = TEMPLATE
    page.10 {
    template = FILE
    template.file = fileadmin/index.html
    workOnSubpart = DOCUMENT_BODY
    marks.LOGIN < temp.30
    subparts.CONTENT < styles.content.get
    ...[/code:1:4b66b933ee]

    Und ins HTML-Template

    [code:1:4b66b933ee]###LOGIN###[/code:1:4b66b933ee]

    geschrieben. Oder sollte dort lieber

    [code:1:4b66b933ee]<!--###LOGIN###-->[/code:1:4b66b933ee]

    stehen? Meiner Meinung nach nicht.

    52 ist meine Login-Seite und 10 ist mein Sys-Ordner.

    Aber warum funktioniert das nicht???

    Es scheint, als hätte ich TypoScript immer noch nicht verstanden.

    *seufz*

    eichbaum

  • bk bk
    Jedi-Meister
    0 x
    500 Beiträge
    0 Hilfreiche Beiträge
    10. 07. 2003, 13:42

    hallo,

    [code:1:6007183e55]#Wenn eine Anmeldung erfolgt ist, wird der folgende Part angezeigt:
    [usergroup = *]

    temp.30 < tt_content.login

    #Ansonsten wird der else-Zweig angezeigt:
    [else]

    temp.30 = TEXT
    temp.30.data = TSFE : id
    temp.30.wrap (
    <form action="index.php?id=52" 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="10" >
    </form>
    )

    [global] [/code:1:6007183e55]

    muss über

    [code:1:6007183e55]page.10 = TEMPLATE
    page.10 {
    template = FILE
    template.file = fileadmin/index.html
    workOnSubpart = DOCUMENT_BODY

    subparts.CONTENT < styles.content.get
    [/code:1:6007183e55]

    stehen

    [code:1:6007183e55] marks.LOGIN < temp.30 [/code:1:6007183e55]

    steht dann im workOnSubpart bereich.
    auch sollte aufgepasst werden, dass der bereich in dem der code steht nicht auskommentiert ist und es sollte zwischen "temp" und "page" unterschieden werden, falls nicht per copy&paste übernommen.

    mfg

    bk

  • eichbaum eichbaum
    Jedi-Ritter
    0 x
    141 Beiträge
    0 Hilfreiche Beiträge
    10. 07. 2003, 14:36

    Ich bin haltlos begeistert! Da komme ich vom Mittagessen zurück und finde eine einfache Lösung für ein Problem, das ich seit Tagen mit mir herumschleppe...

    Merci!

    Jetzt funktioniert alles einwandfrei. Es kann manchmal so einfach sein.

    Ein zufriedener
    eichbaum

  • eichbaum eichbaum
    Jedi-Ritter
    0 x
    141 Beiträge
    0 Hilfreiche Beiträge
    10. 07. 2003, 15:11

    ...FAST zufrieden.

    Denn wenn ich eingeloggt bin, zerschießt mir der Verweis auf [code:1:33d4efaed0]tt_content.login[/code:1:33d4efaed0] das Layout, weil noch eine Tabelle eingefügt wird wo doch eigentlich keine hinsollte...

    Also habe ich den Verweis rausgenommen und durch ein fröhliches

    [code:1:33d4efaed0]temp.30 = TEXT
    temp.30.data = TSFE : id
    temp.30.wrap (
    <form action="index.php?id= | " method="post">
    <tr><td width=20><IMG height=1 src="fileadmin/transparent.gif" width=20></td><td width="150">
    <input type="Submit" name="submit" value="Logout">
    <input type="hidden" name="redirect_url" value="index.php?id=1 " />
    </td></tr>
    <input type="hidden" name="logintype" value="logout">
    <input type="hidden" name="pid" value="10">
    </form>
    )[/code:1:33d4efaed0]

    ersetzt. Hinterher habe ich gesehen, daß es im Tutorial ähnlich gelöst wurde.

    Aaaaaaber...

    Wieso werden meine Styles nicht beachtet? Es ist und bleibt ein normales Formular - warum schert sich das Teil nicht um mein css???

    Das ist nicht fair...

    Vielleicht weiß noch jemand was,
    eichbaum

  • eichbaum eichbaum
    Jedi-Ritter
    0 x
    141 Beiträge
    0 Hilfreiche Beiträge
    10. 07. 2003, 17:21

    Schlußendlich habe ich in jeden input-Tag noch ein class="" gesetzt - jetzt geht´s natürlich. Aber das ist ja eigentlich nicht Sinn der Sache.

    Dies aber nur als Anregung, falls jemand anders das gleiche Problem hat.

  • 0 x
    24 Beiträge
    0 Hilfreiche Beiträge
    22. 07. 2003, 01:55

    Hallo,

    leider habe ich mir meine seid Wochen im Aufbau befindliche Testseite unwiederbringlich "zerschossen"... :(

    Wie auch immer, zu 95% ist mir die Wiederherstellung bis jetzt gelungen, sowas übt ja auch ungemein :o

    Ich bin mir nicht sicher, könnte aber schwören, dass ich in meiner ursprünglichen site das Login so konfiguriert hatte, dass man auch beim "Login" auf der gleichen Seite bleibt, auf der man war, ganz so wie beim "Logout"....

    Momentan schaffe ich das aber nicht mehr......

    Ich habe den Code von typo3faq.net, der ja in diesem thread entwickeltz wurde, haargenau übernommen, und dieser verlangt ja die Angabe iener ZielURL.....

    Jetzt bin ich ratlos, weil dies mir so ÜBERHAUPT nicht gefällt.....

    Mit dem Login soll der Zugang zu einem Mitgliederberich realisiert werden, wie könnte es auch anders sein....

    In diesem Bereich bfindet sich sich aber unter anderem ein Forum, eine Mitgliederliste etc.....

    Ich möchte jetzt aber niemanden nötigen, auf die Forenseite zu gehen, wenn er vielleicht nur mal im Mitgliederlsting schauen wollte und vice versa.....

    Frage:

    wie realiere ich das Loginforumlar (das aus dem else-Zweig) so, dass der User auf der Seite bleibt, auf der er zum Zeitpunkt des Login war ??

  • bk bk
    Jedi-Meister
    0 x
    500 Beiträge
    0 Hilfreiche Beiträge
    22. 07. 2003, 09:21

    hallo matthi,

    sende doch mal bitte deinen code!

    eigentlich ist diese zeile
    [code:1:e1d5d70c4a] <input type="hidden" name="redirect_url" value="index.php?id= | " />[/code:1:e1d5d70c4a]
    dafür verantwortlich, dass du auf der seite bleibst, da hier ein redirect angegeben wird. mit der der zeile
    [code:1:e1d5d70c4a]temp.30.data = TSFE : id [/code:1:e1d5d70c4a]
    wird deine aktuelle seite ermittelt, danach wird dieser über die wrap-funktion in den html output gepackt.

    mfg

    bk

  • 0 x
    24 Beiträge
    0 Hilfreiche Beiträge
    22. 07. 2003, 10:31

    Hallo BK,

    wäre super, wenn DU mal drüberschauen könntest...

    Der Code ist folgender:

    __________________________________________________________

    #Wenn eine Anmeldung erfolgt ist, wird der folgende Part angezeigt.
    [usergroup = *]
    temp.login = TEXT
    temp.login.data = TSFE : id
    temp.login.wrap (
    <form action="index.php?id= | " method="post">
    <table border="0" cellpadding="3" cellspacing="0" >
    <tr>
    <td nowrap align="center">
    <font color="#003366">Hallo</font>
    <b><font color="#003366"><!--###USERNAME###--></font></b>  
    <input type="submit" name="logintype" value="logout">
    </td>
    </tr>
    </table>
    </form>
    <BR>
    <a href="###FORM_URL###&cmd=infomail&backURL=###FORM_URL_ENC###">Passwort vergessen ?</a>
    )

    #Ansonsten wird der [else]Zweig angezeigt
    [else]temp.login = TEXT
    temp.login.data = TSFE : id
    temp.login.wrap (
    <form action="index.php?id=5" method="post">
    <table border="0" cellpadding="3" cellspacing="0">
    <tr>
    <td align="right">
    <input name="user" type="text" id="user" title="Benutzername" onfocus="
    if (this.value==this.defaultValue) this.value=''" value="user" size="10" />
    <input name="pass" type="password" id="pass" title="Passwort" onfocus="
    if (this.value==this.defaultValue) this.value=''" value="passwd" size="10" >
    </td>
    <input type="hidden" name="redirect_url" value="index.php?id= | " />
    </tr>
    <tr>
    <td>
    <input type="submit" name="logintype" value="Login">
    <input type="hidden" name="logintype" value="login" >
    <input type="hidden" name="pid" value="17" >
    </td>
    </tr>
    </table>
    </form>
    )
    [global]

    ___________________________________________________________

    Liveaction unter http://www.snapshotdot.com

    Er redirect auf die PageID 5, rein zu testzwecken.......

    Aber in dem typo3faq. code wird an der Stelle ja auch eine pageID angegeben, der Versuch,

    form action="index.php?id=5" durch
    form action="index.php?id= | ", wie es in dem LOGOUT part verwendet wird, zu ersetzen, erzeugt ein völlig zusammengehauenes Layout.

    Mir ist also auch völlig unklar, für was diese pageID 5 oder 446 oder was auch immer gut sein soll, wenn sie "später" durch form action="index.php?id= | " erstzt werden sollte....

    Wie gesagt, ich meine, in der ursprüngliche site hatte ich es ohne Weiterleitung, allein mir fehlt momentan der Galube.....

    Gut, und wenn das gelöst ist, hätte ich noch zwei zusätzliche Fragen/Anregungen..

    Erstens wird die site zweisprachig, dass heisst, ich müsste noch einen check nach der languageID einbauen und entsprechend das loginFormular neu belabeln

    zweitens fände ich es mehr als schön, nämlich auch praktisch, wenn nach einem Klick auf den link "password vergessen?" direkt in dem loginblock das Eingabefeld für die eMail adresse erscheinen würde.....

    also zusätzlich eine Art elseif password ! password OR user ! user oder ähnlich...zeige mir das passwortVergessen formular

    Hoffe, habe mich klar ausgedrückt

    herzlichen Dank für die Mühe, und viellcieht können wir ja den Sparch und PasswortVergessenPart hier mal diskutieren

    gruss

    matthi

  • 0 x
    24 Beiträge
    0 Hilfreiche Beiträge
    22. 07. 2003, 10:49

    Nachtrag zu dem Thema "passort vergessen ?" link ?

    Mir fällt gerade auf, dass dieser Link, wenn man den hier entwickelten Code 1:1 übernimmt ja NUR gezeigt wird, wenn man schon eingelogged ist, dass macht ja überhaupt keinen Sinn, oder ?

    Denn das ist ja der definitive Beweis, dass das Passwort anscheinend NICHT vergessen wurde.....

    Gut, es wäre jetzt easy, diesen link in den else-Zweig zu setzen, aber zeigt es mir doch, sorry folks, dass die hier angegebene Lösung doch wohl noch suboptimal ist, auch wenn ich unumwunden eingestehe, dass ich nicht (so schnell) auf diese gekommen wäre....

    Vielleicht habt ihr ja noch mal Lust, diese Entwicklerdiskussion ein wenig neu zu beleben...

    Optimal, meiner Ansicht nach wäre es nämlich, dass in dem else Zweig noch nachgeschaut würde, ob passwort ODER username falsch sind, und dann entsprechend das LoginFormular durch das passwortVErgessenFormular esetzt wird, und zwar in dem selben "Block"....ganz genau so, wie das loginFormular nach einem erfolgreichen login durch das LogoutFormular ersetzt wird......

    Hoffe mein Ansatz ist deutlich geworden....

    gruss

    matthi