Hallo Johannes

von mir aus gesehen, ist es fast korrekt.
Das "sublcassen" sollte eigentlich dazu dienen, die beiden Klassen
miteinander zu verbinden. 
Wichtig ist zu wissen, dass in einer und der selben Tabelle
verschiedenen Typen von Datensätzen gespeichert werden können, d.h.
Datensätze, die mit verschiedenen Models erstellt und bearbeitet werden.

In Deinem Fall hast Du ja das Originalmodel erweitert, die Datensätze
aus beiden Models werden aber in der selben Tabelle gespeichert. D.h. du
hast folgende Situation:

Die Klasse1 ist die Originalklasse mit dem Recordtype1 und Table1, die
ErweiterteKlasse2 ist die Erweiterung zur Klasse1 mit dem Recordtype2
(die zusätzlichen Felder sind ebenfalls in Tabelle1 definiert)

Dann müsste sowas definiert werden:

persistence.classes {
    Klasse1 {
        subclasses { Recordtype2 = ErweiterteKlasse2}
    }
    ErweiterteKlasse2 {
        mapping {
            tableName = Tabelle1
            recordType = Recordtype2
        }
    }
}

Damit wird erreicht, dass wenn in der Tabelle1 ein Record mit
Recordtype2 vorhanden ist, dieser mit dem Model der ExtendetKlasse2
bearbeitet wird (d.h. inkl. die zusätzlichen Felder).
Wird in der Tabelle1 ein Recordtype1 gefunden, wird dieser mit der
Originaldefinition, d.h. mit dem Model der Klasse1 bearbeitet (d.h. ohne
die zusätzlichen Felder).

Damit das funktioniert, muss in der Tabelle1 aber ein Feld zum Speichern
des recordType vorhanden sein (tx_extbase_type varchar(255) DEFAULT ''
NOT NULL) und ein entsprechender TCA-Eintrag (record_type).

Wenn man alle Records in der Tabelle1 als mit der Erweiterung bearbeiten
möchte, kann man anstatt "Recotdtype2" auch "0" (das ist der Default
Recordtype, entspricht also Recordtype1) schreiben.

Mehr dazu findest Du im Buch "TYPO3 Extbase" von Patrick Lohbacher...

Beste Grüsse, Renzo

-- 
conPassione gmbh
CH-3661 Uetendorf
+41 33 345 00 92 


_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an