Zum Inhalt springen

sr_feuser_register - groupSelection und pid

Erstellt am 6. April 2009 · 1 Antwort · letzte Antwort am 9. April 2009

Tags: Frage

digitalfreak ·

Hallo liebe Gemeinde,

ich habe da ein kleines Problem.

Ich habe folgende Struktur, und die will ich auch nicht aufgeben.
[Sysfolder: Firma]
[Sysfolder: Gruppe1]
- Groups 1 - 5 oder so
[Sysfolder: Gruppe2]
- Groups 6-1000 oder so

Beim registrieren soll [Firma] die in [Gruppe1] enthaltenen fe_groups selbst auswählen können. Das funktioniert auch wunderbar.

Das Problem welches ich nun habe ist folgendes.

Will ich mit: "allowUserGroupSelection = 1" das o.g. ermöglichen brauche ich laut Doku auch die pid wo die groups drin liegen. (Note: The selectable usergroups must be located in the page identified by the pid constant.)

Aber .pid ist gültig für: edit und create Einträge von fe_users. Somit MUSS ich notgedrungen alles in den einen Ordner klatschen (fe_users und fe_groups). Finde ich persöndlich eine nicht so tolle Lösung.

Gibt es für mein Problem eine annehmbare Lösung?

Viele Grüße
digi 🙂

Cross Posting: http://www.typo3forum.net/forum/alle-anderen-extensions/36905-sr_feuser_register-groupselection-pid.html#post124334

digitalfreak ·

Unsauber aber es funktioniert erstmal so.

Herr Holzinger bestätigte mir meine Vermutung, dass das was ich versuche leider im Standard nicht möglich ist.

Also für alle die es interessiert hier die Lösung:

typo3conf/ext/sr_feuser_register/model/class.tx_srfeuserregister_controldata.php

Die setPid funktion die drin ist gegen diese hier ersetzen. ABER ACHTUNG!!!
Ich habe nix mit TS Einbindung gemacht!!!!!! Den Wert einfach so reinschreiben. Bis zur nächsten Version geht das auch mal so.

	function setPid ($type, $pid)	{
		global $TSFE;

		if (!intval($pid))	{
		  switch ($type)	{
		   case 'infomail':
		   case 'confirm':
		      $pid = $this->getPid('register');
		      break;
                  // Änderung zum getrennten speichern von Daten und Gruppen
                  case 'edit':
                    $pid = 64;
                  break;
                  case 'confirmInvitation':
                    $pid = $this->getPid('confirm');
                  break;
                  default:
                     $pid = $TSFE->id;
                  break;
                 }
	    }
            $this->pid[$type] = $pid;
	}