Typo3 Extensions mit IRRE: Unterschied zwischen den Versionen
Aus Wikizone
| 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" => "")
)
);