Typo3 Extensions mit IRRE: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
 
Zeile 3: Zeile 3:
 
* Kindtabellen (n-Tabelle) benötigen die Felder parenttable und parentid (kann auch anders benannt werden) diese enthalten später die Elterntabelle und die uid des Elterndatensatzes (weak entity - der Kind Datensatz weiß wohin er gehört)
 
* Kindtabellen (n-Tabelle) benötigen die Felder parenttable und parentid (kann auch anders benannt werden) diese enthalten später die Elterntabelle und die uid des Elterndatensatzes (weak entity - der Kind Datensatz weiß wohin er gehört)
  
* Diese Felder kann man im Extension Manager als Typ PassThrough anlegen, das werden dann tinytext-Felder ist geht aber trotzdem.
+
** Diese Felder kann man im Extension Manager als Typ PassThrough anlegen, das werden dann tinytext-Felder ist geht aber trotzdem.
  
 
* tca.php anpassen
 
* tca.php anpassen
 +
** Die tca Definition der Elterntabelle enthält die Verweise auf die Kindtabelle z.B.:
 +
<pre>
 +
$TCA["tx_irrehotel_hotel"] = Array (
 +
"ctrl" => $TCA["tx_irrehotel_hotel"]["ctrl"],
 +
"interface" => Array (
 +
"showRecordFieldList" => "hidden,title,programs"
 +
),
 +
"feInterface" => $TCA["tx_irrehotel_hotel"]["feInterface"],
 +
"columns" => Array (
 +
                [...],
 +
"programs" => Array (
 +
"exclude" => 1,
 +
"label" => "LLL:EXT:irre_hotel/locallang_db.xml:tx_irrehotel_hotel.programs",
 +
"config" => Array (
 +
"type" => "inline",
 +
"foreign_table" => "tx_irrehotel_program",
 +
"foreign_field" => "parentid",
 +
"foreign_table_field" => "parenttable",
 +
"maxitems" => 10,
 +
)
 +
),
 +
),
 +
"types" => Array (
 +
"0" => Array("showitem" => "hidden;;1;;1-1-1, title;;;;2-2-2, programs;;;;3-3-3")
 +
),
 +
"palettes" => Array (
 +
"1" => Array("showitem" => "")
 +
)
 +
);
 +
</pre>

Version vom 26. Juli 2007, 15:35 Uhr

Stichpunkte:

  • Kindtabellen (n-Tabelle) benötigen die Felder parenttable und parentid (kann auch anders benannt werden) diese enthalten später die Elterntabelle und die uid des Elterndatensatzes (weak entity - der Kind Datensatz weiß wohin er gehört)
    • Diese Felder kann man im Extension Manager als Typ PassThrough anlegen, das werden dann tinytext-Felder ist geht aber trotzdem.
  • tca.php anpassen
    • Die tca Definition der Elterntabelle enthält die Verweise auf die Kindtabelle z.B.:
$TCA["tx_irrehotel_hotel"] = Array (
	"ctrl" => $TCA["tx_irrehotel_hotel"]["ctrl"],
	"interface" => Array (
		"showRecordFieldList" => "hidden,title,programs"
	),
	"feInterface" => $TCA["tx_irrehotel_hotel"]["feInterface"],
	"columns" => Array (
                [...],
		"programs" => Array (		
			"exclude" => 1,		
			"label" => "LLL:EXT:irre_hotel/locallang_db.xml:tx_irrehotel_hotel.programs",		
			"config" => Array (
				"type" => "inline",
				"foreign_table" => "tx_irrehotel_program",
				"foreign_field" => "parentid",
				"foreign_table_field" => "parenttable",
				"maxitems" => 10,
			)
		),
	),
	"types" => Array (
		"0" => Array("showitem" => "hidden;;1;;1-1-1, title;;;;2-2-2, programs;;;;3-3-3")
	),
	"palettes" => Array (
		"1" => Array("showitem" => "")
	)
);