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

Sigrid Gramlinger sigrid at gramlinger.net
Sun Oct 25 01:01:58 CEST 2009


Hallo Christian,

danke für Deine ausführliche Antwort. Das Prinzip der ext_tables.php 
habe ich schon verstanden.

Mein Problem lag aber irgendwo anders. mit 4.2.6 ging das IRRE-Feld (In 
ext_tables.php hinzugefügt) nicht, in 4.2.8 und 4.2.10 gehts jetzt schon 
(ebenso in ext_tables.php hinzugefügt).

Gruß,
Sigrid


christian oettinger schrieb:
> 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