Zum Inhalt springen

Fehler beim Anlegen von Extension-Datensätzen im Formular

Erstellt am 14. November 2007 · 2 Antworten · letzte Antwort am 5. Dezember 2007

Tags: TCA, Frage

dyne ·

Keine Ahnung was ich falsch gemacht habe, aber wenn ich einen Datensatz für meine Extension im BE anlegen möchte, dann verhält sich das Formular merkwürdig:

Bild: web4.friecon-host3.de/…/formular.gif

Wenn ich das erste Eingabefeld ausfülle und dann aus dem Feld gehe (per Tab-Taste oder Mausklick) dann erscheint die Meldung "Diese Änderung beeinflusst..." und beim Klick auf OK ist das Formular verschwunden. Wenn ich Abbrechen klicke, dann kann ich meine Eingaben fortsetzen, aber wenn ich im Nachhinein den Datensatz bearbeiten möchte, dann ist wiederum das Formular verschwunden.

Ich weiß nicht ob es etwas mit dem Feld "Übergeordnete Kategorie" zu tun hat, denn das ist in der tca.php mit einer itemsProcFunc gefüllt. Das Füllen funktioniert aber tadellos.

Hier der betreffende Teil aus der tca.php. Ich weiß nicht wo der Fehler liegen könnte, da ich sowas noch gar nicht gesehen hab.

	"columns" => array (
		'hidden' => array (		
			'exclude' => 1,
			'label'   => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
			'config'  => array (
				'type'    => 'check',
				'default' => '0'
			)
		),
		"name" => Array (		
			"exclude" => 1,		
			"label" => "LLL:EXT:extcatalog/locallang_db.xml:tx_extcatalog_cat.name",		
			"config" => Array (
				"type" => "input",	
				"size" => "30",	
			)
		),
		"catid" => Array (		
			"exclude" => 1,		
			"label" => "LLL:EXT:extcatalog/locallang_db.xml:tx_extcatalog_cat.catid",		
			"config" => Array (
				"type" => "select",	
				"items" => Array (
					Array("",0),
				),
				"itemsProcFunc" => 
"EXT:extcatalog/pi1/class.tx_extcatalog_itemsProcFunc.php:tx_extcatalog_itemsProcFunc->cats",
				"size" => 1,
				"minitems" => 0,
				"maxitems" => 1,
			)
		),
		"ctype" => Array (
			"exclude" => 1,
			"label" => "LLL:EXT:extcatalog/locallang_db.xml:tx_extcatalog_cat.ctype",
			"config" => Array (
				"type" => "select",
				"items" => Array (
					Array("LLL:EXT:extcatalog/locallang_db.xml:tx_extcatalog_cat.ctype.I.0", "0"),
					Array("LLL:EXT:extcatalog/locallang_db.xml:tx_extcatalog_cat.ctype.I.1", "1"),
					Array("LLL:EXT:extcatalog/locallang_db.xml:tx_extcatalog_cat.ctype.I.2", "2"),
				),
				"size" => 1,
				"maxitems" => 1,
			)
		),
	),

Wenn noch ein anderer Quelltext gebraucht wird (ext_tables.php, itemsProcFunc, etc) dann sagt bescheid.

Kann mir jemand helfen?

dyne ·

Ich hab das Problem gelöst.

Ich kann euch zwar keine technischen Details bieten, aber sagen wie ich's behoben hab.

Ich wollte beim Anlegen der Extension im Kickstarter für die Tabelle das "label-Field" name bestimmen, hab aber ausversehen name unter "type-field" ausgewählt.

Jetzt hab ich die Ext im Kickstarter bearbeitet und das behoben -> Problem gelöst.

In welcher Datei das mit dem type-field wie steht weiß ich nicht und auch nicht wie man die Funktion richtig benutzt. Aber ich konnte zumindest mein Problem lösen.