[TYPO3-german] DRINGEND! - Nach dem Anpassen einer Extension sind neue Felder im Fluid Template nicht verfügbar
Johannes C. Laxander
jc at laxander.com
Tue Jan 3 20:37:59 CET 2017
Hallo Renzo,
vielen Dank für deine ausführliche Erklärung, mit der ich mein Problem lösen konnte! :)
Mit dieser Konfiguration hat es jetzt geklappt:
config.tx_extbase.persistence.classes {
Dan\Jobfair\Domain\Model\Job {
subclasses {
0 = Jcl\JobfairExtended\Domain\Model\JobExtended
}
}
Jcl\JobfairExtended\Domain\Model\JobExtended {
mapping {
tableName = tx_jobfair_domain_model_job
recordType = 0
}
}
}
> 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).
Habe ich nachträglich definiert, hat gefehlt. Macht man üblicherweise wohl nicht, wenn es nur einen recordType gibt, oder?
Schöne Grüße, Johannes.
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-
> bounces at lists.typo3.org] Im Auftrag von Renzo Bauen
> Gesendet: Montag, 2. Januar 2017 18:43
> An: typo3-german at lists.typo3.org
> Betreff: Re: [TYPO3-german] DRINGEND! - Nach dem Anpassen einer
> Extension sind neue Felder im Fluid Template nicht verfügbar
>
> 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
More information about the TYPO3-german
mailing list