Zum Inhalt springen

Felogin Per Typoscript in Templavoila Einbaubar?

Erstellt am 5. Juni 2008 · 5 Antworten · letzte Antwort am 30. Juni 2008

Tags: Templates & Layouts, felogin, Frage

timmy2007 ·

Ich hatte schon einmal einen Thread zur newloginbx bezüglich Einbau in TemplaVoila geschrieben.

Da ich jetzt aber Typo3 4.2 und die Felogin nutze möchte ich hier Euch fragen, ob es möglich ist, die Felogin-Anmeldung wie im hier beschriebenen Howto (->#60688) in TemplaVoila als Typoscript einzubauen?

Was muß man beachten? Welche Tipps kann man mir geben?

Unbekannter Benutzer ·

Ich weiss nicht warum man das bei TV nicht machen können sollte...

Das Anliegen wird doch wahrscheinlich sein die Extension auf jeder Seite zugänglich zu machen und das Problem das man das Flexform dann nicht nutzen kann.

Ich hab mich schon wirklich oft gefragt warum man sich das Leben gerade als Anfänger so schwer machen muss..

Warum nicht einfach einen Marker im HTML-Template erstellen und dann mit dem InhaltsObjekt belegen?

Also nochmal:

Marker ###LOGIN### in der HTML-Vorlage erstellen.

Den per

page.10.marks.LOGIN

asprechen und mittels

< temp.LOGIN

kopieren.

Dann per

temp {
	LOGIN = CONTENT
	LOGIN {
		table = tt_content
		select {
			pidInList = 5
			orderBy = sorting
			where = colPos = 0
		}
	}
}

Das entsprechende Inhalts Objekt ansprechen. pidInList ist die ID der Seite auf der das Plugin fe_login eingebaut ist (Das kann auch ein SysOrdner sein und kann auch außerhalb der Navigation liegen).
Durch where = colPos = 0 spricht man die Spalte "normal" an, wo man das Plugin fe_login einbaut. Dementsprechend ist dann 1 = links, 2 = rechts und 3 = rand.

Dann eine neue Seite oder den SysOrdner erstellen und in der Spalte "normal" das Plugin einbauen. Entsprechende ID der Seite muss dann eben bei piInList eingefügt werden.

nun kann man alle Einstellungen wie gewohnt im Flexform des Plugin einstellen und auch auf den Ordner mit den Login-berechtigten Benutzern verweisen.

Vollständig sieht das im TS dann so aus:

temp {
	LOGIN = CONTENT
	LOGIN {
		table = tt_content
		select {
			pidInList = 5
			orderBy = sorting
			where = colPos = 0
		}
	}
}
page.10.marks.LOGIN < temp.LOGIN

Das ist mMn die simpelste Lösung gerade für Anfänger.

andreas-p ·

oder wenn man die Einstellung des Flexform nicht braucht:

plugin.tx_felogin_pi1 {
  storagePid = ### SYS Ordner ID in dem die Mitglieder liegen ###
  templateFile = fileadmin/extensions/felogin.html
  showForgotPasswordLink = 1
  showPermaLogin = 1
}

marks.LOGINBOX < plugin.tx_felogin_pi1
ruschnet ·

Hallo Ihrs,

das ist aber ja eigentlich nicht die Antwort auf die Frage...

Ich habe das selbe Problem.
Will fe_login in jede Seite einbauen. Zwecks redirect.
Jetzt ist die Frage, wie baue ich das in TemplaVoila ein.

Habe schon eine Lösung über die gute alte newloginbox, aber ich bekomm das da mit dem redirect einfach nicht hin.

Hier mal das script:

# prüfe, ob bereits eingeloggt (ein feuser muß zu einer Gruppe gehören)
[usergroup=*]

# Abmeldeformular mit Benutzernamen
lib.login = COA_INT
lib.login {
  10 = TEXT
   
  20 = TEXT
  20.typolink.parameter = {$plugin.tx_newloginbox.loginUID}
  20.typolink.returnLast = url
  20.wrap = <form action="|" class="login_top" method="post">
   
  30 = COA
  30 {
    5 = TEXT
    5.wrap = <input type="submit" id="logout" value="|" />
     
    10 = TEXT
    10.value = <input type="hidden" name="logintype" value="logout" />
    20 = TEXT
    20.value = <input type="hidden" name="redirect_url" value="" />
    30 = TEXT
    30.value = </form>
  }
}

# ansonsten stellen wir ein Anmeldeformular zur Verfügung
[else]

# wichtig, da wir an den Challenge-Wert von kb_md5feuser nur über ein PHP-Script kommen
includeLibs.md5fepw = fileadmin/scripts/md5fepw.php
lib.login = COA_INT
lib.login {
  5 = TEXT
  5.value = <div id="loginHeader">Login</div>

  10 = TEXT
  10.typolink.parameter = {$plugin.tx_newloginbox.loginUID}
  10.typolink.returnLast = url
  10.wrap = <form action="|" class="login_top" method="post" onsubmit="superchallenge_pass(this); return true;">
   
  # form
  20 = COA
  20 {
    10 = TEXT
    10.value = user
    10.wrap = <input type="text" name="user" onclick="this.value=''" value="|" />
    20 = TEXT
    20.wrap = <input type="password" name="pass" onclick="this.value=''" value="|" />
     
    30 = COA
    30 {
      10 = TEXT
      10.value = <input type="hidden" name="logintype" value="login" />
      20 = TEXT
      20.value = {$plugin.tx_newloginbox.storageUID}
      20.wrap = <input type="hidden" name="pid" value="|" />
      
      21 = TEXT
      21.value = <input type="hidden" name="redirect_url" value="" />
       
      # Aufruf des PHP-Scriptes
      25 = USER
      25.userFunc = user_md5fepw->md5Challenge
       
      30 = TEXT
      30.value = <input type="submit" name="submit" value="go">
      40 = TEXT
      40.value = </form>
    }
  }
}
[usergroup]

# Inhalte für Abmeldeformular nach Sprache einbinden (in unserem Beispiel Englisch und Deutsch)
[usergroup=*] AND [globalVar = GP:L = {$langUID_EN}]
lib.login.10.value = Hello <!--###USERNAME###-->
lib.login.30.5.value = press to logout
[else]
  [usergroup=*]
  lib.login.10.wrap = <div id="logoutName">Hallo&nbsp;|, willkommen zurück!</div>
  lib.login.10.data = TSFE:fe_user|user|name
  lib.login.30.5.value = Hier abmelden
  [global]
[global]

# ermöglicht einbinden nur auf spezieller Seite und dessen Unterseiten
[PIDinRootline={$siteIntern}]
lib.login.if.isTrue = 1

# globale Ermöglichung des Login, falls Konstante auf 1 gesetzt wird
[else]
lib.login.if.isTrue = {$activateLogin}
[global]

ist eine Version aus dem Netz, ein bißchen abgeändert.

Jetzt ist die Frage, ob sich eine ähnliche Lösung auch für fe_login umsetzen lässt.

Grüße,
Jo