Zum Inhalt springen

TYPO3 4.5 - t3lib_extMgm::addTCAcolumns

Erstellt am 23. März 2011 · 4 Antworten · letzte Antwort am 24. März 2011

Tags: TCA, Frage

rrudorfer ·

Hallo Forum!

Ich hab eine kleine Extension, die auch ein neues Backend-Feld beim Inhaltstyp "Menü" einfügt... Dazu einfach in der ext_tables.php Folgendes:

$tempColumns = Array (
	"tx_extname_fieldname" => Array (		
		"exclude" => 1,		
		"label" => "LLL:EXT:extname_fieldname/locallang_db.php:tx_extname_fieldname",		
		"config" => Array (
			"type" => "group",
			"internal_type" => "db",
			"allowed" => "pages",
			"size" => 3,	
			"autoSizeMax" => 32,
			"multiple" => false,
			"maxitems" => 1000,
		)
	),
);


t3lib_div::loadTCA("tt_content" );
t3lib_extMgm::addTCAcolumns("tt_content",$tempColumns,1);



t3lib_div::loadTCA("tt_content" );
$TCA["tt_content"]["types"]["menu"]["subtype_value_field"]="menu_type";
$TCA["tt_content"]["types"]["menu"]["subtypes_addlist"][$_EXTKEY."_pi1"]="tx_extname_fieldname;;;;1-1-1";

Das hat bisher eigentlich auch gut funktioniert... Nach dem Update auf 4.5.2 seh ich dieses Feld aber leider nirgends mehr - oder ich bin (zu) blind dafür... ;-)

Ich schätz jetzt mal, das hat was mit der Neu-Organisation der Register zu tun, oder?
Wie bring ich das Feld jetzt wieder in mein Backend?

Dankeschön,
Roman

Julian.​Hofmann ·

Hallo Roman.

Hatte ähnliches Verhalten einmal, weil Durch Umziehereien odgl. die Ladereihenfolge meiner Extension so ungünstig war, dass mein Feld hinzugefügt wurde, bevor TYPO3 die Tabelle überhaupt kannte. Bei tt_content ist das natürlich wenig wahrscheinlich...o.O

Hast Du mal in die gelade Konfiguration geschaut (BE: Admin_Tools -> Konfiguration), ob Deine Änderung ins TCA übernommen wird?

Viele Grüße
Julian

rrudorfer ·

Mein Feld ist zu finden unter

[tt_conten][columns]
[fe_admin_fieldList]
[fe_admin_fieldList][types][menu][subtypes_addlist]

Und jetzt? -g-

Julian.​Hofmann ·

Hm....

Glaube ich hab da noch was:
addTCAcolumns
This function adds the configuration needed for rendering of the field in TCEFORMS - but it does NOT add the field names to the types lists! So to have the fields displayed you must also call fx. addToAllTCAtypes

Wenn ich das richtig sehe, dann ist die Spalte zwar bereits definiert innerhalb des TCA, aber noch nicht der Bedienoberfläche hinzugefügt. o.O

rrudorfer ·

Guter Hinweis, sehr guter Hinweis... ;-)

t3lib_div::loadTCA("table_namet" );
t3lib_extMgm::addTCAcolumns("table_name",$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes("table_name", "field_name" );

Jetzt wirds wieder angezeigt... Aber witzig, bisher kam ich auch ohne addToAllTCAtypes aus...

Danke für deine Hilfe...

LG,
Roman