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###--> <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
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.
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"> User </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">
<img src="fileadmin/templ/user.gif" width="16" height="16" title="User" border="0" align="absbottom"> <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>
<img src="fileadmin/templ/password.gif" width="16" height="16" title="User" border="0" align="absmiddle"> <input name="pass" style="font-size:12px;" type="password" id="pass" title="Passwort" onfocus="if
(this.value==this.defaultValue) this.value=''" value="" size="12" >
<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?
# 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.
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"> User </span><input type="image"
src="fileadmin/templ/logout.gif" width="16" height="16" alt="Logout" title="Logout" border="0" align="absbottom"> <br />
<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">
<img src="fileadmin/templ/user.gif" width="16" height="16" title="User" border="0" align="absbottom"> <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>
<img src="fileadmin/templ/password.gif" width="16" height="16" title="User" border="0" align="absmiddle"> <input name="pass" style="font-size:12px;" type="password" id="pass" title="Passwort" onfocus="if
(this.value==this.defaultValue) this.value=''" value="" size="12" >
<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>
<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>
<a href="index.php?id=login&no_cache=1&tx_newloginbox_pi1[forgot]=1">Passwort vergessen?</a>
)
[global]
# / Login-BOX