Hallo zusammen,
ich mache gerade meine ersten Schritte mit EXTBASE...
Ich habe ein Domain Model erstellt und gespeichert. Danach habe ich ein paar Funktionen in den generierten Model- Klassen hinzugefügt.
Später habe ich das Domain Model unter EXTBASE leicht verändert und wieder gespeichert. EXTBASE hat dann natürlich die Klassen neu generiert. Nur blöd, dass mein eigens Coding damit futsch ist.
Ich kann mir nicht vorstellen, dass ich der Erste bin der sich mit diesem Thema rumschlägt. Allerdings haben meine recheren über GOOGLE keine Lösung ergeben.
Kurzfassung
1. Model Speichern
2. Eigens Coding in den generierten Klassen hinzufügen
3. Model Speichern
--> manuell hinzugefügter code bleibt nicht erhalten...
Kennt jemand diesbezüglich eine Lösung bzw. einen Workaround? Eventuell von den generierten Klassen erben...???
Danke & Grüße
Ottscho
Du hast mit dem Extension-Builder gearbeitet, oder? Bei dem gibt es eine Roundtrip-Einstellung, die du setzen kannst, damit deine manuellen Arbeiten nicht überschrieben werden. Schau mal bei der Extension-Builder Erweiterung nach. Dort solltest du die Einstellung finden. Du kannst dann ggf. noch Einstellungen in der Datei meineExt/Configuration/ExtensionBuilder/settings.yaml machen.
Gruß,
Robert
Wie robsch schon gesagt hat, musst du im Backend in den Eigenschaften der Konfiguration des Extension Builders (zufinden im Extension Manager in deiner Extension).
Der Punkt nennt sich:
Enable edit mode (roundtrip)
Dies muss aktiviert sein!
Sehr zu empfehlen ist auch die Einstellung (zu aktivieren):
Make a backup on each save
Dann musst du noch folgende Datei im folgenden Verzeichnis deiner Extension bearbeiten:
DeineExtension\Configuration\ExtensionBuilder\settings.yaml
Beispielsweise so:
############ extension settings ##############
overwriteSettings:
Classes:
Controller: keep
Domain:
Model: merge
Repository: merge
Configuration:
TCA: merge
TypoScript: merge
Resources:
Private:
Language:
#locallang.xml: merge
#locallang.xlf: merge
Partials: keep
Templates: keep
Public: keep
ext_icon.gif: keep
ext_localconf.php: merge
ACHTUNG! Bei YAML sind die Abstände nicht wahllos vor den Werten. Auswendig weiß ich jetzt gerade nicht mehr wie genau die Abstände sein müssen. Sprich auch ob Leerzeichen oder Tabbstops (meine letzteres).
Ist etwas auskommentiert (#), so überschreibt er beim nächsten Speichern alles.
Mit "merge" und "keep" kannst du bestimmen ob er z.B. neue Controller hinzufügen soll (merge) oder er sie gar nicht bearbeiten darf (keep).
Mit dem neuen ExtensionBuilder v2.4 habe ich jedoch ein Phänomen, das bei einem Controller - trotz merge - die Funktionen überschrieben werden... ich bin mir hier jetzt aber nicht sicher ob dies nicht evtl. ein Fehler meinerseits ist.
"roundtrip" ist das Zauberwort, vielen Dank robsch und kapale...!!! :p
Eine sehr gute Anleitung zur Konfiguration des roundtrip im extension_builder findet man auch bei youtube...
Hallo,
kann ich dem Roundtrip mode auch beibringen, dass er alle meine anderen Icons (für meine eigene Klassen) NICHT überschreibt?!
Danke!!!