[TYPO3-german] IRRE in neuem Felder der fe_users-Tabelle funktioniert nicht

christian oettinger christian.oettinger at gmx.de
Fri Oct 16 00:37:50 CEST 2009


Hallo Sigrid,

Ich habe nicht ganz verstanden, aber vielleicht hilft es trotzdem.
Der Unterschied ist: Der TCA-Array existiert schon. Du kannst ihn aber 
in ext_tables.php anpassen, sprich was dazu schreiben. Es gibt dafür 
spezielle Funktionen. Ein Beispiel:

____________________

// Felder in temp array packen
$tempColumns = Array (
	"FELD1" => Array (		
		"exclude" => 1,		
		"label" => "LLL:EXT:extensionkey/locallang_db.xml:fe_users.FELD1",		
		"config" => Array (
			"type" => "input",	
			"size" => "30",
		)
	),
	"FELD2" => Array (		
		"exclude" => 1,		
		"label" => "LLL:EXT:extensionkey/locallang_db.xml:fe_users.FELD2",		
		"config" => Array (
			"type" => "input",	
			"size" => "30",
		)
	),
	"FELD3" => Array (		
		"exclude" => 1,		
		"label" => "LLL:EXT:extensionkey/locallang_db.xml:fe_users.FELD3",		
		"config" => Array (
			"type" => "radio",
			"items" => Array (
			 
Array("LLL:EXT:ahprixforms/locallang_db.xml:fe_users.tx_ahprixforms_participateas.I.0", 
0),
			 
Array("LLL:EXT:ahprixforms/locallang_db.xml:fe_users.tx_ahprixforms_participateas.I.1", 
1),
			),
		)
	),
	"FELD4" => Array (		
		"exclude" => 1,		
		"label" => "LLL:EXT:extensionkey/locallang_db.xml:fe_users.FELD4",		
		"config" => Array (
			"type" => "radio",
			"items" => Array (
			 
Array("LLL:EXT:ahprixforms/locallang_db.xml:fe_users.tx_ahprixforms_status.I.1", 
1),
			 
Array("LLL:EXT:ahprixforms/locallang_db.xml:fe_users.tx_ahprixforms_status.I.2", 
2),
			 
Array("LLL:EXT:ahprixforms/locallang_db.xml:fe_users.tx_ahprixforms_status.I.3", 
3),
			),
		)
	),
);

// Zuerst den Array für fe_users laden
t3lib_div::loadTCA("fe_users");
// Dann die neuen Felder zum TCA von fe_users dazufügen
t3lib_extMgm::addTCAcolumns("fe_users",$tempColumns,1);

// Nun die Felder in den type-teil des TCA von fe_users (der ja steuert, 
was ausgegeben wird) an die richtige Stelle schreiben
t3lib_extMgm::addToAllTCAtypes("fe_users","--div--;TYPO3,FELD1","", 
"before:disable");
t3lib_extMgm::addToAllTCAtypes("fe_users","FELD2,FELD3,","", 
"after:disable");
t3lib_extMgm::addToAllTCAtypes("fe_users","FELD4,","", "before:username");

____________________

Ich hoffe das Beispiel ist verständlich?


Du kannst den tca-array (und andere) übrigens im BE mit dem Admin-Tool 
"Konfiguration" ansehen. Das ist furchtbar praktisch wenn man einen 
schon bestehenden Wert überschreiben will, weil Du sehen kannst, welches 
die vorhandenen Werte sind und wenn Du sie überschreiben möchtest 
einfach draufklicken kannst (das ganze funktioniert ähnlich wie der 
Object-Browser im Template-Tool). Danach kannst Du die angezeigte Zeile 
direkt in deine ext_tables.php kopieren. So was:

$TCA['fe_users']['ctrl']['label'] = 'last_name';
$TCA['fe_users']['ctrl']['label_alt'] = 'FELD2';
$TCA['fe_users']['ctrl']['label_alt_force'] = true;
$TCA['fe_users']['ctrl']['default_sortby'] = 'ORDER BY usergroup, FELD2, 
last_name';
...


viele Grüße
oe (christian)



> Hallo allerseits,
> 
> ich versuche ein Feld vom Typ 'inline' in die Tabelle fe_users 
> einzutragen, d.h. ich habe das Feld vom Typ 'select' per Kickstarter 
> erstellt und ändere dann die ext_tables.php  meiner Extension.
> 
> Im BE wird das Feld aber nicht als IRRE-Feld angezeigt. Lege ich das 
> Feld in einer neue eigenen Tabelle an und ändere den Typ im Code, dann 
> funktioniert das IRRE-Feld.
> 
> Liegt das an der ext_tables.php? Muss ich den Typ 'inline' in der 
> tca.php machen? (wäre aber nicht so klug, oder?) Ich kann den Typ für 
> die Tabelle fe_users aber an keiner andere Stelle verändern, oder?
> 
> Danke für Tipps,
> Sigrid


More information about the TYPO3-german mailing list