Hallo zusammen,
ich bin seit etwa 2 Monaten damit beschäftigt immer mal ein paar Stunden in Typo3 einen bestehenden Code aus einer App um zu basteln.
Ich habe mir Typo3 ausgesucht da ich dachte es wäre das sicherste und innovativste was es unter den CMS gibt. Mittlerweile lässt meine Geduld aber etwas nach. Ich habe noch nie so etwas nervendes und schlecht dokumentiertes wie Typo3 gesehen... Zudem die Inkompatibilität der Extensions mit den verschiedenen Typo3 Versionen.... So nun Schluss mit heulen 😉
Nun bin ich heute aus Zufall auf ein Artikel gestoßen in dem es hieß, das zukünftige Typo3 Versionen nur noch mit Extbase/Fluid Extensions kompatibel sein sollen. Ich habe bisher alles mit dem normalen Kickstarter und den pi-Klassen programmiert und hab nun etwas ratlos in die Röhre geschaut. Bisher ist die Extension noch nicht sehr groß, jedoch ist bereits alles in gutem objektorientierten Code verarbeitet. Zudem ist eine Schnittstelle zur App in die Extension bereits implementiert.
Dennoch macht es kein Sinn, wenn ich meine Extension ab der nächsten Version nicht mehr benutzen könnte...
Würdet Ihr auf extbase umsteigen oder erst einmal so weiter machen? Bzw. lässt sich die alte Code leicht in Extbase portieren?
Zudem noch eine Frage zum Framework. Lässt extbase auch Schnittstellen nach außen zu? Bspw. JSON?
Zum Schluss hätte ich noch eine Fragen zu Relationen bzw TCA.
Bei 1:N Relationen wird im TCA der Typ "inline" verwendet. Im BE habe ich nun das Problem dass ich nur neue Datensätze der Relation hinzufügen kann. Jedoch bereits bestehende werden nicht berücksichtigt. Nur bei m:n wird eine richtige Liste angezeigt und zudem eine MN Tabelle angelegt.
Verstehen muss man das, wie vieles, nicht... Gibt es dafür ne Lösung?
Danke im Voraus und Gruß
Ara
vfbaragorn schriebDennoch macht es kein Sinn, wenn ich meine Extension ab der nächsten Version nicht mehr benutzen könnte...
Nun, bleib bei der alten TYPO3-Version und das Problem bleibt aus.
Sprich: die alten PIs sollten bis zur 4.7er auch immer noch tun.
Würdet Ihr auf extbase umsteigen oder erst einmal so weiter machen? Bzw. lässt sich die alte Code leicht in Extbase portieren?
Ja, EXTBASE ist der neue Scheiß (wie man so sagt).
Nein, alter Code lässt sich nicht so LEICHT portieren. Nagut... php bleibt php, aber sonst geht alles irgendwie anders.
Zudem noch eine Frage zum Framework. Lässt extbase auch Schnittstellen nach außen zu? Bspw. JSON?
Ja.
Zum Schluss hätte ich noch eine Fragen zu Relationen bzw TCA.
Bei 1:N Relationen wird im TCA der Typ "inline" verwendet. Im BE habe ich nun das Problem dass ich nur neue Datensätze der Relation hinzufügen kann. Jedoch bereits bestehende werden nicht berücksichtigt. Nur bei m:n wird eine richtige Liste angezeigt und zudem eine MN Tabelle angelegt.
Verstehen muss man das, wie vieles, nicht... Gibt es dafür ne Lösung?
Ja, dafür gibt's sogar ein ganzes Kapitel (um nicht zu sagen "ein ganzes Buch")
Du hast den 'Kickstarter' (den alten mit den PIs) erwähnt.
Es gibt für extbase den 'Extensionbuilder'. Solltest du den bisher noch nicht verwendet haben, kann ich dir das nur empfehlen.
Ich mein, es ist besser, ein Projekt neu aufzusetzen, als an einem bestehenden rumzupfuschen.
Und dabei einfach mal schauen, was so rauskommt.
Gruß
Hallo Haralad1972,
danke für deine schnelle Antwort 😉
harald1972 schrieb
Nun, bleib bei der alten TYPO3-Version und das Problem bleibt aus.
Sprich: die alten PIs sollten bis zur 4.7er auch immer noch tun.
Ich denke mir mal dass die Typo3 Gemeinde nun aber nicht mehr so den Wert auf die 4x Versionen legen wird. Und da ich den Anspruch habe die höchste Sichherheiut meinen Nutzern und mir zu gewähren, ist ein ständiges mitgehen in den Typo3 Versionen unerlässlich.
harald1972 schrieb
Ja, EXTBASE ist der neue Scheiß (wie man so sagt).
Nein, alter Code lässt sich nicht so LEICHT portieren. Nagut... php bleibt php, aber sonst geht alles irgendwie anders.
"Das irgendwie anders" habe ich schon gesehen. Und es macht mich fertig :-D
Das Framework ist dermaßen kompliziert dass man wohl mehrere Stunden zum einlernen benötigt. Gut, da muss man eben nun durch ;-)
Gibt es eigentlich eine Entwicklungsumgebung für extbase und fluid. Bspw. für Eclipse, Netbeans oder Dreamweaver? Es ist sehr mühsam sich durch den Dschungel von Typo3 durch zu schlängeln und am Ende zu merken, dass z.B. die Funktion bereits veraltet ist #paralyzed#
harald1972 schrieb
Du hast den 'Kickstarter' (den alten mit den PIs) erwähnt.
Es gibt für extbase den 'Extensionbuilder'. Solltest du den bisher noch nicht verwendet haben, kann ich dir das nur empfehlen.
Ich mein, es ist besser, ein Projekt neu aufzusetzen, als an einem bestehenden rumzupfuschen.
Und dabei einfach mal schauen, was so rauskommt.
Genau den habe ich gestern Abend noch ausprobiert und bin auf das gleiche Problem wie bei dem PI Kickstarter gekommen. Bei m:n ist das kein Problem. Bei 1:N wird aber wieder TCA Typ inline verwendet.
Kann ich den Typ inline einfach in list ändern? Oder funktioniert list nur mit MN Relationen?
Gruß Ara
Mir ist da grad noch was aufgefallen...
Bei 1:N Relationen wird im TCA der Typ "inline" verwendet. Im BE habe ich nun das Problem dass ich nur neue Datensätze der Relation hinzufügen kann. Jedoch bereits bestehende werden nicht berücksichtigt. Nur bei m:n wird eine richtige Liste angezeigt und zudem eine MN Tabelle angelegt.
Also ich hab bei 1:n selectfelder mit den bestehenden Daten im BE.
Verstehen muss man das, wie vieles, nicht... Gibt es dafür ne Lösung?
Der Kickstarter (Ext.Builder) erzeugt dir im TCA evtl. doppelte Einträge, weil du brauchst ja (normalerweise) Relationen in beide Richtungen. Also quasi Vater-Objekt hat ein PersistenceStorage von Kind-Objekten, jedes Kind-Objekt hat den Vater direkt als Property.
Der doppelte Eintrag mit "passthrough" muss z.B weg.
Hast du einfach mal drauf los probiert oder irgendein Tutorial zu Rate gezogen?
Von Mittwald gibt es da ein ganz brauchbares. Da stehen die meisten Tücken drin und was man jeweils zu tun hat.
Es gibt auch schon eine neue Version. Da müssten inzwischen die ganzen Fehler behoben sein, die ich noch selbst rausfinden musste 😉
Kann ich den Typ inline einfach in list ändern?
Der Ext.Builder ist ja nur ein Kickstarter. Du MUSST ja ändern/anpassen, was dir passend oder unpassend erscheint. Aber inline scheint mir ganz gut, hab ich auch. Allerdings lege ich meine Daten nicht übers BE an.
harald1972 schrieb
Also ich hab bei 1:n selectfelder mit den bestehenden Daten im BE.
Ich denke du meinst n:1. Dort wird ein Selectfeld herangezogen, was auch Sinn macht.
Wie das BE reagiert kann man hier auf der rechten Seite sehen. http://wiki.typo3.org/T3Doc/Extension_Builder/Using_the_Extension_Builder
Ich möchte nun nur dass die Listenansicht mit Merfachauswahl für eine 1:N Relationen genommen wird. Das ich die Relation nur mit einem neuen Datensatz anlegen kann, ist idiotisch und für die meisten 1:N Szenarien vollkommen unbrauchbar. Ich weiß nicht wer sich das ausgedacht hat..
harald1972 schrieb
Der Kickstarter (Ext.Builder) erzeugt dir im TCA evtl. doppelte Einträge, weil du brauchst ja (normalerweise) Relationen in beide Richtungen. Also quasi Vater-Objekt hat ein PersistenceStorage von Kind-Objekten, jedes Kind-Objekt hat den Vater direkt als Property.
Der doppelte Eintrag mit "passthrough" muss z.B weg.
Hast du einfach mal drauf los probiert oder irgendein Tutorial zu Rate gezogen?
Von Mittwald gibt es da ein ganz brauchbares. Da stehen die meisten Tücken drin und was man jeweils zu tun hat.
Es gibt auch schon eine neue Version. Da müssten inzwischen die ganzen Fehler behoben sein, die ich noch selbst rausfinden musste 😉
Mit dem Tut von Mittwald arbeite ich gerade. Mal schauen ob ich klar komme 😉
harald1972 schrieb
Der Ext.Builder ist ja nur ein Kickstarter. Du MUSST ja ändern/anpassen, was dir passend oder unpassend erscheint. Aber inline scheint mir ganz gut, hab ich auch. Allerdings lege ich meine Daten nicht übers BE an.
Genau, zum größten Teil werden die User die Daten aus dem FE erfassen. Jedoch wird auch die Pflege über das Backend wichtig sein.
Ich denke du meinst n:1. Dort wird ein Selectfeld herangezogen, was auch Sinn macht.
Ich möchte nun nur dass die Listenansicht mit Merfachauswahl für eine 1:N Relationen genommen wird.
Jetzt versteh ich dein Problem.
Bin nicht so tief drin im TCA. Aber versuch das doch mal mit 'list'. Würd mich auch mal interessieren, wenn's klappt 😉
Das ich die Relation nur mit einem neuen Datensatz anlegen kann, ist idiotisch und für die meisten 1:N Szenarien vollkommen unbrauchbar. Ich weiß nicht wer sich das ausgedacht hat..
Das hab ich mich glaub auch schon mal gefragt.
harald1972 schrieb
Jetzt versteh ich dein Problem.
Bin nicht so tief drin im TCA. Aber versuch das doch mal mit 'list'. Würd mich auch mal interessieren, wenn's klappt 😉
Funktioniert 😉
Man muss nur drauf achten dass die Passthrough Felder nur bei einem TCA aktiv sind. Sonst geht's im Kreis rum.