Zum Inhalt springen

TCA: Felder werden im Backend nicht angezeigt

Erstellt am 5. Januar 2009 · 3 Antworten · letzte Antwort am 5. Januar 2009

Tags: TCA, Frage

yson ·

Hallo zusammen,

ich habe ein Frontend-Plugin mit Hilfe des Kickstarters erstellt. Darin habe ich eine Tabelle mit einem Felder definiert. Nun wird aber leider das Feld nicht im Backend angezeigt.

über "New Database Tables" habe ich genau eine Tabelle mit einem Feld angelegt. Das Feld ist vom Typ "String input". Ansonsten ist alles Standard.

Hat jemand eine Idee, woran es liegen kann, dass man das Feld nicht Backend sehen kann?

Vielen Dank im voraus.

yson

meckpo ·

Hallo,

du hast die erstellte Extension zum Schluss auch erzeugt und dann installiert?
Woher weisst du denn dass du das Feld nicht siehst? Kannst du denn ein Element von deinem Tabellen-Typ erzeugen? Und da ist dann gar kein Feld drin? Oder kannst du gar kein Element erzeugen?

yson ·

Die Extension ist installiert und das Plugin kann ich anlegen. Nur das zusätzliche Feld wird dann im Plugin nicht angezeigt.

ext_tables.php

if (!defined ('TYPO3_MODE')) 	die ('Access denied.');

t3lib_div::loadTCA('tt_content');
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']='layout,select_key';


t3lib_extMgm::addPlugin(Array('LLL:EXT:contactPerson/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY.'_pi1'),'list_type');

if (TYPO3_MODE=="BE")	$TBE_MODULES_EXT["xMOD_db_new_content_el"]["addElClasses"]["contactPerson_pi1_wizicon"] = t3lib_extMgm::extPath($_EXTKEY).'pi1/class.tx_contactPerson_pi1_wizicon.php';

$TCA["tx_contactPerson_data"] = Array (
	"ctrl" => Array (
		'title' => 'LLL:EXT:contactPerson/locallang_db.xml:tx_contactPerson_data',		
		'label' => 'uid',	
		'tstamp' => 'tstamp',
		'crdate' => 'crdate',
		'cruser_id' => 'cruser_id',
		"default_sortby" => "ORDER BY crdate",	
		"delete" => "deleted",	
		"dynamicConfigFile" => t3lib_extMgm::extPath($_EXTKEY)."tca.php",
		"iconfile" => t3lib_extMgm::extRelPath($_EXTKEY)."icon_tx_contactPerson_data.gif",
	),
	"feInterface" => Array (
		"fe_admin_fieldList" => "no",
	)
);
meckpo ·

Hallo,

du hast 2 Dinge angelegt:

1) Eine neue Klasse von BE-Objekten ("tx_contactPerson_data").
2) Ein Plugin.

Das Plugin hat keine Felder (die kannst du auch nicht anlegen mit dem Kickstarter). Falls du Felder im Plugin brauchst lautet dein Stichwort "Flexforms".

Wenn du jetzt irgendwo im BE auf das Icon "Neu" klickst erhältst du neben "Seite", "Seiteninhalt", "Adresse" etc. auch einen Eintrag "[wie auch immer du deine BE-Objekte genannt hast]" Klick da drauf und du hast ein Formular mit deinem einen Feld.

PS: Das führt natürlich alles zu nichts, wenn du jetzt nicht dein Plugin ausprogrammierst, dass es auch Daten anzeigt ....