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
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an