[TYPO3-mvc] Extend existing tables
Thomas "Thasmo" Deinhamer
thasmo at gmail.com
Mon Feb 21 17:53:12 CET 2011
arno dudek wrote:
> Nur wird noch immer die Basisklasse geladen. Ich vermute mal, dass ein
> Modell nicht per inject geladen wird und diese Konfiguration nicht greift.
>
> Oder kurz gefragt: Wie kann man eine Modell-Klasse einer Extension
> erweitern?
>
> Zusatz: Das entspricht nicht dem
> "Tx_Extbase_Domain_Model_FrontendUser"-Beispiel. Da dort die Daten meist
> in der Erweiterung verarbeitet werden.
Hallo,
hab bis jetzt auch nur Models in den Extensions erweitert und dort
auch verwendet. Ein Mapping sieht, mit "single table inheritance",
sprich einem Objekt das in verschiedenen Typen existiert, so bei mir aus:
config.tx_extbase {
persistence {
classes {
Tx_HypeDirectory_Domain_Model_Contact {
mapping {
tableName = tx_hypedirectory_domain_model_contact
}
subclasses {
Person = Tx_HypeDirectory_Domain_Model_Contact_Person
Corporation = Tx_HypeDirectory_Domain_Model_Contact_Corporation
}
columns {
country.foreignClass = Tx_Hype_Domain_Model_StaticCountry
}
}
Tx_HypeDirectory_Domain_Model_Contact_Person <
.Tx_HypeDirectory_Domain_Model_Contact
Tx_HypeDirectory_Domain_Model_Contact_Person {
mapping {
recordType = person
}
subclasses >
}
}
}
}
Wichtig ist, dass du diese Konfiguration auf config.tx_extbase direkt
anwendest, damit Extbase diese Konfiguration unabhängig von der gerade
ausgeführten Extension findet/verwenden kann.
Was leider noch nicht geht, was dir aber - so verstehe ich das jetzt -
vermutlich noch besser weiterhelfen könnte, sind diese "Mixins".
Dazu gab's auch schon mind. einen Thread in der Mailingliste.
Vielleicht hilft dir was weiter.
LG,
Thomas
More information about the TYPO3-project-typo3v4mvc
mailing list