Zum Inhalt springen

sr_feuser_register usergroup

Erstellt am 10. Dezember 2009 · 1 Antwort · letzte Antwort am 8. Februar 2010

Tags: Frage

henno ·

Also ich hab gleich 2 Fragen dazu.
1.Wie bekomme ich es hin dass in der Freigabe Mail an den Administrator die dem Benutzer zugeordnete usergruppe mit aufgeführt wird. (userGroupAfterConfirmation)

Aktuell bekommt er nur Name, Nachname, Firma und so angezeigt

In dem Template für diese Email ist aber auch ein Marker für die usergroup vorgesehen er wird aber nicht mit der userGroupAfterConfirmation ersetzt.

edit: Was mir dazu noch eingefallen ist das die Felder die Mit dieser Mail verschickt werden nicht die sind die bei formFields angegeben wurden... also müsste man die für die mail doch irgendwo anders setzen können. Mir würde es ja auch schon helfen wenn jemand die stelle kennt an der das Array für die felder für die mail ausgelesen wird. Da könnte man das dann ja hartcodiert reinschreiben die info zur usergruppe steht ja nach der confirmation in der db sollte also auch im tca verfügbar sein...?
edit2: oder wird es in der mail nicht ersetzt weil es zu dem zeitpunkt noch nicht im tca steht weil die mail vor dem setzten der afterConfirmation-gruppe gesendet wird...

2. Das erste Problem ist eigentlich eine Folge des 2. Ursprünglich war es vorgesehen dass der Benutzer bei der Registrierung selber eine Benutzergruppe auswählen kann und der Admin dann darüber entscheidet ob er sie bekommt. Das erspart dem Admin die Arbeit der Benutzergruppen Zuordnung.
Das wäre so weit auch kein Problem (select oder Radiobuttons) Das Problem ist aber dass es auch möglich sein soll mehrere Gruppen gleichzeitig auszuwählen. Das würde nur mit Checkboxen gehen. Da diese Info aber ein erforderliches Feld ist müsste man ja jede checkbox zu einem Requier machen. Dadurch kann man wiederum keine Einzelnen auswählen sonder muss alle auswählen. Beim versuch die Checkboxen in einer Gruppe zusammenzufügen ( also in ein TCA feld) wurden die Boolwerte aus der Eingabe in das Array geschrieben. Das Problem war dass sie offenbar einfach hintereinander weg dort rein geschrieben wurden und irgendwo wieder zu einem int wurden. Das Problem dabei
0111 (nur 1. Checkbox nicht angewählt) ergab dabei eine 7
1110 (nur letzte Checkbox nicht angewählt) ergab auch eine 7
Die Äußeren Nullen wurden also bei der Umwandlung irgendwie Ignoriert

Ich hoffe mir konnte irgendjemand bei meinem Vorstoß in das TCA folgen und kennt sich da besser aus wie ich... #angry#

edit3:
Hier auch mal meine config zum besseren verständniss

plugin.tx_srfeuserregister_pi1 {
	file.templateFile = fileadmin/.../template.html

	email = mail@mail.de

	siteName = Name

	formFields = password, first_name, last_name, email, telephone, company, title

	requiredFields = password, first_name, last_name, email, telephone, company, title

	useEmailAsUsername = 1
	
	generatePassword = 6
	
	pid = 192
	
	pidTitleOverride = name
	
	registerPID = 576
	
	editPID = 576

  	confirmPID = 576

	confirmType = 576

  	loginPID = 242
  	
  	enablePreviewRegister = 0
  	
  	enablePreviewEdit = 0
  	
  	enableAdminReview = 1

  	enableAdminNotifyConfirmation = 0
  	
  	enableAdminNotifyOnApprove = 0
  	
  	enableAdminNotifyOnRefuse = 0
  	
  	enableAdminNotifyOnRegister = 0
  	
  	enableAdminNotifyOnUpdate = 0
  	
  	enableAdminNotifyOnDelete = 0
  	
  	enableAdminNotifyOnAdminAccept = 0
  	
  	enableAdminNotifyOnAdminRefuse = 0
  	
  	
}
[PIDinRootline = 582]
plugin.tx_srfeuserregister_pi1 {

		
	formFields = password, first_name, last_name, email, telephone, company, title, cnum
	requiredFields = password, first_name, last_name, email, telephone, company, title, cnum
	
	registerPID = 582
	
	editPID = 582

  	confirmPID = 582

	confirmType = 582
	
	userGroupAfterConfirmation = 4
	userGroupAfterAcceptation = 4
}
[end]
[PIDinRootline = 581]
plugin.tx_srfeuserregister_pi1 {
	
	registerPID = 581
	
	editPID = 581

  	confirmPID = 581

	confirmType = 581
	
	
	userGroupAfterConfirmation = 8
	userGroupAfterAcceptation = 8
}
[end]
[PIDinRootline = 580]
plugin.tx_srfeuserregister_pi1 {
	
	registerPID = 580
	
	editPID = 580

  	confirmPID = 580

	confirmType = 580
	
	
	userGroupAfterConfirmation = 7
	userGroupAfterAcceptation = 7
}
[end]
[PIDinRootline = 579]
plugin.tx_srfeuserregister_pi1 {
	
	registerPID = 579
	
	editPID = 579

  	confirmPID = 579

	confirmType = 579
	
	
	userGroupAfterConfirmation = 3
	userGroupAfterAcceptation = 3
}
[end]
[PIDinRootline = 578]
plugin.tx_srfeuserregister_pi1 {
	
	registerPID = 578
	
	editPID = 578

  	confirmPID = 578

	confirmType = 578
	
	
	userGroupAfterConfirmation = 5
	userGroupAfterAcceptation = 5
}
[end]
Unbekannter Benutzer ·

1. Suche auch nach einer benutzerfreundlichen Lösung. Ideal wäre ein Link in der Mail mit einer öffnenden Seite, auf der der Admin in einem Formular die Registrierung der Gruppen einsehen, um hierin letztmalig Einschränkungen vornehmen zu können (diesen Fall wollen wir unserem Kunden anbieten).

2. Ändere die Konfiguration für das Feld 'usergroup' der Tabelle 'fe_users' in dem Du den 'renderMode'='checkbox' angibts. Das Feld 'usergroup' ist in TYPO3 standartmäßig vom Typ 'select'. Ein Select kann im Backend auch in Checkboxen abgebildet werden (TCA Deklaration). Diese TCA Definitionen werden standartmäßig auch beim Rendern des Formulares übernommen (###TCA_INPUT_usergroup###).

<?php
if (!defined ('TYPO3_MODE')) 	die ('Access denied.');
$TCA['fe_users']['columns']['usergroup']['config']['renderMode'] = 'checkbox';
?>

Dazu benötigst Du eine Extension (leg Dir eine im Kickstarter an), in der Du diesen PHP-Code als Datei 'ext_tables.php' ablegst.
Diese Extension kann Dir helfen, alle gewünschten Anpassungen an der Extension sr_feuser_register vorzunehmen.