Typo3 Extensions mit IRRE: Unterschied zwischen den Versionen
Aus Wikizone
| Zeile 1: | Zeile 1: | ||
Stichpunkte: | 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) | + | * '''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). Elterntabellen enthalten ein Feld das aussagt welche Kindtabelle dazugehört (siehe Beispiel) Dieses Feld kann im EM als Integer angelegt werden. |
| − | ** | + | ** Die Felder parenttable und parentid kann man im Extension Manager als Typ PassThrough anlegen, das werden dann tinytext-Felder angelegt, geht aber trotzdem. |
* tca.php anpassen | * tca.php anpassen | ||
| − | ** Die tca Definition der Elterntabelle enthält die Verweise auf die Kindtabelle z.B.: | + | ** Die tca Definition der Elterntabelle enthält die Verweise auf die Kindtabelle (das Integer Feld) und muß als Inline Feld umdeklariert werden z.B.: |
<pre> | <pre> | ||
$TCA["tx_irrehotel_hotel"] = Array ( | $TCA["tx_irrehotel_hotel"] = Array ( | ||
Version vom 26. Juli 2007, 15:54 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). Elterntabellen enthalten ein Feld das aussagt welche Kindtabelle dazugehört (siehe Beispiel) Dieses Feld kann im EM als Integer angelegt werden.
- Die Felder parenttable und parentid kann man im Extension Manager als Typ PassThrough anlegen, das werden dann tinytext-Felder angelegt, geht aber trotzdem.
- tca.php anpassen
- Die tca Definition der Elterntabelle enthält die Verweise auf die Kindtabelle (das Integer Feld) und muß als Inline Feld umdeklariert werden 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" => "")
)
);