Zum Inhalt springen

Login-Design II

Erstellt am 8. April 2007 · 6 Antworten · letzte Antwort am 30. April 2007

Tags: Frage

just2b ·

Update 14.4.08

Hier mal ein kleines Tutorial, das an das andere HowTo anschließt, aber wie immer alles besser 😉

Sinn: Login-Bereich, ins Design integriert, vollständig mit TS, ohne irgendeine Extension

TS

####
# LOGIN
####
# action url
temp.url = TEXT
temp.url.typolink.parameter.field = uid
temp.url.typolink.returnLast = url

# LOGOUT
[usergroup = *]
temp.login = COA
temp.login.5 = TEXT
temp.login.5 {
	value = eigene Daten bearbeiten
	wrap = <div class="logout">
	# 21 Seite mit Plugin von sr_feuser_register
	typolink.parameter = 21
	typolink.additionalParams = &tx_srfeuserregister_pi1[cmd]=edit
}
# form begin
temp.login.10 = TEXT
temp.login.10.value = <form action="

temp.login.20 < temp.url
temp.login.30 = TEXT
temp.login.30.value (
    " method="post"> 
      <fieldset>
        <input class="submit" type="submit" value="Logout" />
        <input type="hidden" name="logintype" value="logout" /> 
      </fieldset>
    </form>
  </div>
)

# LOGIN
[else] 
temp.login = COA
temp.login.10 = TEXT
temp.login.10.value = <div class="login"> <form action="
 
temp.login.20 < temp.url
temp.login.30 = TEXT
temp.login.30.value (
  " method="post" > 
    <fieldset>
      <input name="user" class="user" type="text" title="Benutzername" value="Username" onfocus="if (this.value==this.defaultValue) this.value=''" size="12" />
      <input name="pass" class="pw" type="password" title="Passwort" value="****" onfocus="if (this.value==this.defaultValue) this.value=''" size="12" />      
      <input type="hidden" name="logintype" value="login" /> <input type="hidden" name="pid" value="13" /> 
      <input class="submit" name="image" type="submit" value="Login" title="Login" />   
    </fieldset>               
  </form> 
</div>
)
#temp.login.50 = TEXT
#temp.login.50.value = Registrierung
#temp.login.50.typolink.parameter = 21
[global]

Wichtig:

name="pid" value="13"

13 steht für die ID von der Seite mit den Usern.

Verbesserung zur alten Version:
- Verbesserte styling-möglichkeiten
- Unterstützung von Realurl/simulatestatic urls
- Vereinfachter Code

Update 24.4.07
So zeigt man den Usernamen an, wenn wer eingeloggt ist

# LOGOUT
[usergroup = *]
temp.login = COA
temp.login.5 = TEXT
temp.login.5 {
	# wichtig: die unterstriche gehören weg!!
	# Statt "username" ist jedes Feld von fe_users möglich
	value = <!--###__USERNAME__###-->
	wrap = Sie sind angemeldet als:&nbsp; |
}

Update 14.4.08
Um für einen Login alle Variablen mitzunehmen, empfiehlt sich das

temp.url = TEXT
temp.url.data = getIndpEnv:TYPO3_REQUEST_URL

lg georg

kinneremer ·

Moin,
würde gerne das Login auf unserer Seite einbinden, doch leider hänge ich mal wieder...
Habe im Template einen Marker erstellt ###LOGIN###
Dann habe ich im Template-Setup den Code oben eingefügt, und die PIDs an die Site angepasst. Jetzt erhalte ich im Frontend die Meldung "Error! The page is not configured! [type= 0][]"
Hier mal der Typoscript-Code, vielleicht kann mal jemand drüber schauen:

####
# LOGIN
####
# action url
temp.url = TEXT
temp.url.typolink.parameter.field = uid
temp.url.typolink.returnLast = url
 
# LOGOUT
[usergroup = *]
temp.login = COA
temp.login.5 = TEXT
temp.login.5 {
        value = eigene Daten bearbeiten
        wrap = <div class="logout">
        # 51 Seite mit Plugin von sr_feuser_register
        typolink.parameter = 51
        typolink.additionalParams = &tx_srfeuserregister_pi1[cmd]=edit
}
# form begin
temp.login.10 = TEXT
temp.login.10.value = <form action="

temp.login.20 < temp.url
temp.login.30 = TEXT
temp.login.30.value (
    " method="post"> 
      <fieldset>
        <input class="submit" type="submit" value="Logout" />
        <input type="hidden" name="logintype" value="logout" /> 
      </fieldset>
    </form>
  </div>
)
 
# LOGIN
[else] 
temp.login = COA
temp.login.10 = TEXT
temp.login.10.value = <div class="login"> <form action="

temp.login.20 < temp.url
temp.login.30 = TEXT
temp.login.30.value (
  " method="post" > 
    <fieldset>
      <input name="user" class="user" type="text" title="Benutzername" value="Benutzername" onfocus="if (this.value==this.defaultValue) this.value=''" size="12" />
      <input name="pass" class="pw" type="password" title="Passwort" value="*****" onfocus="if (this.value==this.defaultValue) this.value=''" size="12" />      
      <input type="hidden" name="logintype" value="login" /> <input type="hidden" name="pid" value="42" /> 

   # 42 = ID Sysfolder Benutzer

      <input class="submit" name="image" type="submit" value="Login" title="Login" />   
    </fieldset>               
  </form> 
</div>
)

#temp.login.50 = TEXT
#temp.login.50.value = Registrierung
#temp.login.50.typolink.parameter = 21
[global] 

# USERNAME
[usergroup = *]
temp.login = COA
temp.login.5 = TEXT
temp.login.5 {
        value = <!--###USERNAME###-->
        wrap = Benutzername:  |
} 

 
page = PAGE
page.typeNum = 0
page.shortcutIcon = fileadmin/micro.ico
config.xhtml_cleaning = all
config.disablePrefixComment = 1
config.pageTitleFirst = 0
page.includeCSS { 
   file1 = fileadmin/css/stylecopy.css
}
page.headerData.10 = TEXT
page.headerData.10.value (
	<style type="text/css" media="all">
	@import url(fileadmin/css/Menu.css);
	</style>
	<!--[if lte IE 6]>
	<style type=text/css>
	@import url(fileadmin/css/Menu4IE.css);
	BODY {BEHAVIOR: url("fileadmin/css/ADxMenu.htc")}
	</style>
	<![endif]-->
	<meta http-equiv="Page-Enter" content="RevealTrans(Duration=1Transition=1>
	<meta http-equiv="Page-Enter" content="blendTrans(Duration=1 Transition=1>
	<meta http-equiv="Page-Exit" content="RevealTrans(Duration=1Transition=1>
	<meta http-equiv="Page-Exit" content="blendTrans(Duration=1 Transition=1>
)
page.bodyTag = <body>
page.1 = TEMPLATE
page.1.marks.PAGE_UID = TEXT
page.1.marks.PAGE_UID.field = uid
page.1  {
   template = FILE
   template.file = fileadmin/templates/temp2007test.html   
   workOnSubpart = DOCUMENT_BODY
   subparts.RNDIMG < temp.rndImageTop
   subparts.CONTENT_LEFT < styles.content.getLeft
   subparts.CONTENT_RIGHT < styles.content.getRight
   subparts.CONTENT_BORDER < styles.content.getBorder
   subparts.CONTENT < styles.content.get
   subparts.LOGIN < temp.login

Wäre super, wenn jemand eine Idee für mich hätte, wo der Fehler liegt.

Gruß kinneremer

just2b ·

Hallo,

naja bei zeile 72 geht die Condition nicht mehr zu, dh die schließt dann das gesamte page-Objekt auch ein

georg

kinneremer ·

#paralyzed# #paralyzed# #paralyzed#
Sorry, ich versteh´ da nur BAHNHOF...
Fehlt mir da eine Klammer oder so etwas? Bin echt kein "Coder", bitte erklär mir das etwas genauer.
Noch etwas anderes:
Wie kann ich den so etwas für die Such-Funktion realisieren? Wäre schön ,wenn Du mir nochmal auf die Sprünge helfen würdest.

just2b ·

in zeile 72 fehlt ein

[global]

Für die Suche gibts doch eigene Extensions, macina_searchbox, die kann man dann mit marks.SEARCH < ebenso zuweisen

ich schließ den thread hiermit, damit das HowTo übersichtlich bleibt. Für weitere Fragen bitte einen eigenen Thread aufmachen und auf diesen verweisen

lg georg