Zum Inhalt springen

FE-Login => News-Single-Ansicht

Erstellt am 14. März 2005 · 4 Antworten · letzte Antwort am 15. März 2005

Tags: tt_news, felogin, Frage

just2b ·

Hallo,

ich hab ein Problem mit dem FE-Login auf News-Single-Seiten, kenn mich mit dem Login-Code aber leider zuwenig aus, dass ich das ohne Hilfe ändern kann. Das Problem besteht darin, dass ich zB auf einer News-Seite mit der Adresse index.php?id=17&tx_ttnews[tt_news]=2&tx_ttnews[backPid]=15&cHash=889f9097c7
bin, mich nun einloggen möchte und dann - nach dem Anmelden - nur mehr die Seite index.php?id=17 aufgemacht wird und dort dann - logischerweise - die Fehlermeldung kommt, dass keine news-id übergeben wird, da die Adresse beschnitten wird. Wie kann ich das nun verhindern?

Der Login-Code vom Setup:

[usergroup = *] 
temp.10 = TEXT 
temp.10.data  = TSFE : id 
temp.10.wrap (  
<form action="index.php?id= | " method="post">

                  User <!--###USERNAME###--> &nbsp;<input type="image"
src="fileadmin/pmf/pix/exit.gif" width="18" height="18" alt="Logout" title="Logout" border="0" align="absbottom">

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

#<b>#Ansonsten wird der [else] Zweig angezeigt</b>
[else] 
temp.10 = TEXT 
temp.10.data  = TSFE : id 
temp.10.wrap (
 <form action="index.php?id=42" method="post"> 
                    
   
        
  <input name="user" type="text" id="user" title="Benutzername" onfocus="if
(this.value==this.defaultValue) this.value=''" value="" size="10" />
  <br>
  <input name="pass" type="password" id="pass" title="Passwort" onfocus="if
(this.value==this.defaultValue) this.value=''" value="" size="10" > 
                        <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= | " /> 
                      <input type="hidden" name="logintype" value="login" > <input type="hidden" name="pid"
value="43" > 
              </form> 
)
[global]

Ich sag vielen vielen Dank!!!
georg

Oliver Thiele ·

Das Problem liegt ja darin, dass beim Referer nur die Seiten-ID übergeben wird. Dies geschieht in dieser Zeile:

<input type="hidden" name="redirect_url"  value="index.php?id= | " />

Bei dem Pipe wird die ID eingetragen, nicht aber die Parameter. Ein Ansatz wäre, anstatt dem wrap ein dataWrap zu benutzen. (temp.10.dataWrap =...)
Die Zeile mit dem redirekt müsste dann so aussehen:

<input type="hidden" name="redirect_url"  value="{getIndpEnv:TYPO3_REQUEST_URL}" />

Das Problem könnte jetzt allerdings noch der Typo3-Cache sein. Womöglich muss man diesen dann noch für diese Seite abschalten. Vielleicht wäre es dann besser, die Login-Funktion doch in eine nicht gecachte Extension zu schreiben.

just2b ·

Hallo Oliver,
mal danke dass du dich um mein Problem kümmerst!
mit deinem Vorschlag funktioniert leider gar nichts mehr 🙁 und er schreibt mir '{getIndpEnv:TYPO3_REQUEST_URL}' ins Template, kann damit nichts anfangen 🙁

# Login-BOX
[usergroup = *] 
temp.10 = TEXT 
#temp.10.data  = TSFE : id 
temp.10.dataWrap = TSFE : id
temp.10.wrap (  
<form action="index.php?id= | " method="post">

                <span class="p_inhalt">&nbsp;&nbsp;&nbsp;&nbsp; User &nbsp;</span><input type="image"
src="fileadmin/templ/logout.gif" width="16" height="16" alt="Logout" title="Logout" border="0" align="absbottom">

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

#<b>#Ansonsten wird der [else] Zweig angezeigt</b>
[else] 
temp.10 = TEXT 
#temp.10.data  = TSFE : id 
temp.10.datawrap = TSFE : id
temp.10.wrap (

<form action="index.php?id=42" method="post"> 
                    
   
        
 &nbsp;<img src="fileadmin/templ/user.gif" width="16" height="16" title="User" border="0" align="absbottom">&nbsp;<input name="user" style="font-size:12px;" type="text" id="user" title="Benutzername" onfocus="if
(this.value==this.defaultValue) this.value=''" value="" size="12" />
  <br>
  &nbsp;<img src="fileadmin/templ/password.gif" width="16" height="16" title="User" border="0" align="absmiddle">&nbsp;<input name="pass" style="font-size:12px;" type="password" id="pass" title="Passwort" onfocus="if
(this.value==this.defaultValue) this.value=''" value="" size="12" > 
                       &nbsp;<input name="image" type="image" title="Login" src="fileadmin/templ/login.gif" alt="Login"
align="absbottom" width="16" height="16" border="0"> </td> 
                      
<input type="input" name="redirect_url"  value="{getIndpEnv:TYPO3_REQUEST_URL}" />
                      <input type="hidden" name="logintype" value="login" > <input type="hidden" name="pid"
value="43" > 
              </form> 
)
[global]

auf ein neues?

Oliver Thiele ·
# Login-BOX
[usergroup = *]
temp.10 = TEXT
temp.10.data  = TSFE : id
temp.10.dataWrap (

Versuch es mal so am Anfang. Mit der 6. Zeile wurde die 5. gelöscht. Aus dem wrap sollte nur ein dataWrap gemacht werden. Erst dann kann man mit {...} dynamisch Inhalte einfügen lassen.

just2b ·

Vielen vielen Dank Oliver für deine Unterstützung!!

Und für alle anderen auch noch der Code hier:

# Login-BOX
[usergroup = *]
temp.10 = TEXT
#temp.10.data  = TSFE : id
temp.10.dataWrap (

<form action="{getIndpEnv:TYPO3_REQUEST_URL}" method="post">

                <span class="p_inhalt">&nbsp;&nbsp;&nbsp;&nbsp; User &nbsp;</span><input type="image"
src="fileadmin/templ/logout.gif" width="16" height="16" alt="Logout" title="Logout" border="0" align="absbottom"> <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php?id=register&tx_srfeuserregister_pi1[pointer]=&tx_srfeuserregister_pi1[mode]=&tx_srfeuserregister_pi1[sword]=&tx_srfeuserregister_pi1[sort]=&tx_srfeuserregister_pi1[cmd]=edit">Konto bearbeiten</a>

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

#<b>#Ansonsten wird der [else] Zweig angezeigt</b>
[else] 
temp.10 = TEXT
#temp.10.data  = TSFE : id
temp.10.dataWrap (

<form action="index.php?id=42" method="post"> 
                    
   
        
 &nbsp;<img src="fileadmin/templ/user.gif" width="16" height="16" title="User" border="0" align="absbottom">&nbsp;<input name="user" style="font-size:12px;" type="text" id="user" title="Benutzername" onfocus="if
(this.value==this.defaultValue) this.value=''" value="" size="12" />
  <br>
  &nbsp;<img src="fileadmin/templ/password.gif" width="16" height="16" title="User" border="0" align="absmiddle">&nbsp;<input name="pass" style="font-size:12px;" type="password" id="pass" title="Passwort" onfocus="if
(this.value==this.defaultValue) this.value=''" value="" size="12" > 
                       &nbsp;<input name="image" type="image" title="Login" src="fileadmin/templ/login.gif" alt="Login"
align="absbottom" width="16" height="16" border="0"> </td> 
<input type="hidden" name="redirect_url"  value="{getIndpEnv:TYPO3_REQUEST_URL}" />      

                      <input type="hidden" name="logintype" value="login" > <input type="hidden" name="pid"
value="43" > 
              </form> <br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php?id=register&tx_srfeuserregister_pi1[pointer]=&tx_srfeuserregister_pi1[mode]=&tx_srfeuserregister_pi1[sword]=&tx_srfeuserregister_pi1[sort]=&tx_srfeuserregister_pi1[cmd]=create">Hier neu registrieren</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php?id=login&no_cache=1&tx_newloginbox_pi1[forgot]=1">Passwort vergessen?</a>
)
[global] 
# / Login-BOX