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