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-boun...@lists.typo3.org [mailto:typo3-german-
> boun...@lists.typo3.org] Im Auftrag von Renzo Bauen
> Gesendet: Montag, 2. Januar 2017 18:43
> An: typo3-german@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

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

Antwort per Email an