Wofür ist das TCA da?

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    06. 01. 2012, 12:07

    Moin,

    momentan hasse ich Extbase. Kann mir einer sagen wozu dieses verf***te TCA da ist? Überall wird propagiert, dass es für das Backend wichtig ist. Ich sitze seit 2 Tagen an einem Repository->add und bekomme nur leere Spalten in der Datenbank (eine neue Zeile wird jedesmal eingefügt), bis ich heute spaßeshalber ein TCA definiert habe.

    Mit grummeligen Grüßen,
    Sven


  • georgbez georgbez
    T3PO
    0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    06. 01. 2012, 13:33

    Hallo Sven,
    Du hast einen komischen Ton um Hilfe zu bitten.

    http://www.google.de/search?&q=tca+typo3
    z.B. http://jimsuperfly.de/blog/typo3-tca-grundlagen/

    Hast Du Dir schon mal die Manuals durch gelesen?
    http://www.mittwald.de/fileadmin/pdf/extbase_fluid.pdf
    http://www.kaktusteam.de/uploads/media/extbase.pdf

    Auch sehr gut für den Einstieg in Typo3/Extbase:
    http://t3n.de/news/typo3-extension-entwicklung-extbase-wichtigsten-infos-265118/

    VG Georg

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    06. 01. 2012, 15:12

    [quote="georgbez"]
    Hallo Sven,
    Du hast einen komischen Ton um Hilfe zu bitten.[/quote]
    Danke, aber das mit den 2 Tagen ist nicht übertrieben und dementsprechend konnte ich nicht anders.

    Danke auch für Deine Links, auch wenn ich alle davon kenne und auch das Buch von Jochen und Sebastian durchgearbeitet habe.

    Wenn ich allerdings in der Doku lese:

    1. "This global array in TYPO3 defines the editable database tables and the relationship between them and how the fields in tables are rendered in [b]backend[/b] forms and processed in the TCE and so on."

    und
    1. the frontend is mostly independant of the TCA

    musst Du mir schon recht geben, dass es nicht nativ erscheint, wenn im Frontend-Plugin ohne das TCA nichts geht.

    Mein Unmut kommt halt auch dadurch zustande, dass ich gar nicht auf die Idee kam, dass es am TCA liegt, folglich suche ich natürlich nicht nach "typo3 TCA", klingt logisch oder? Eine Suche nach "typo3 extbase tca" liefert folgendes Ergebnis:
    [url=http://modi.de/2010/04/15/help-my-values-in-extbase-are-not-written-to-the-database/]http://modi.de/2010/04/15/help-my-values-in-extbase-are-not-written-to-the-database/[/url]
    Auch hier ist zu erkennen, dass sowohl Autor als auch Kommentarschreiber nicht nativ davon ausgehen, dass für FE-Repos das TCA angefasst werden muss. Und auch hier im Forum kann mir das anscheinend keiner genauer erklären :-(

  • rlp_immigrant rlp_immig...
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    24. 02. 2012, 10:28

    Hallo zusammen,

    [quote="BFSven"]
    Und auch hier im Forum kann mir das anscheinend keiner genauer erklären :-(
    [/quote]
    nach fast zwei Monaten vielleicht etwas zu spät, aber wenn viele Leute darüber stolpern werde ich versuchen etwas Lichts ins Dunkel zu bringen.

    Soweit ich weiß wird das TCA momentan nur für das Mapping auf die Datenbanktabelle benötigt, sofern das Mapping nicht extra per Typoscript konfiguriert wurde.
    Extbase weiß ja nicht out of the box in welcher Spalte deiner Tabelle der Wert für die Eigenschaft X zu finden ist und welche Tabelle er überhaupt nehmen soll.

    Sobald Typo3 komplett auf Flow3 umgestellt wurde, wird diese Aufgabe ein Datamapper übernehmen...ich glaube [url=http://www.doctrine-project.org/]Doctrine[/url].
    Dann brauchst du kein TCA mehr...

    Korrigiert mich bitte wenn ich Quatch erzählt habe;)

    Grüße
    Alex

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    27. 02. 2012, 18:09

    Convention over Configuration ...

    Eigentlich sollte das Model Tx_MyExt_Domain_Model_Unsinn mit dem Repository Tx_MyExt_Domain_Repository_UnsinnRepository auf die Tabelle tx_myext_domain_model_unsinn mappen und die Properties $blodsinn und $echtMuell auf blodsinn und echt_muell.

    Ich vermute aber mal, dass dies einfach noch nicht implemtiert wurde und wie so vieles bei Extbase erstmal außen vor gelassen wurde, hauptsache schnell deployen. Naja, wenn man weiß, dass man das alles ins TCA schreiben muss, dann ist das ja auch nicht weiter das Problem. Trotzdem danke für Deine Erklärung ;)

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    27. 02. 2012, 19:41

    [quote="BFSven"]
    Moin,

    momentan hasse ich Extbase. Kann mir einer sagen wozu dieses verf***te TCA da ist? Überall wird propagiert, dass es für das Backend wichtig ist. Ich sitze seit 2 Tagen an einem Repository->add und bekomme nur leere Spalten in der Datenbank (eine neue Zeile wird jedesmal eingefügt), bis ich heute spaßeshalber ein TCA definiert habe.

    Mit grummeligen Grüßen,
    Sven
    [/quote]

    Das klingt ja als wäre das TCA eine Erfindung von Extbase. Aber das ist es nicht. Auch wenn Du auf piBase setzt, wirst Du mit dem TCA arbeiten müssen. Mit dem TCA wird beispielsweise festgelegt, welche Felder im Backend erscheinen und konfiguriert die Formularfelder, so kannst Du mit dem TCA beispielsweise festlegen, dass ein Feld als einfaches Input-Feld erscheint, ein anderes als Selekt-Box, wieder ein anderes als Link-Wizard. Auch Datenbankrelationen werden dort angegeben. Was ich beim Extension Builder schön finde, ist dass für 1:n Relationen standardmäßig IRRE verwendet wird.

  • rlp_immigrant rlp_immig...
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    28. 02. 2012, 09:07

    Wenn dich das TCA so stört dann nimm doch Flow3. Mich hat das TCA am Anfang auch etwas gestört. Mittlerweile habe ich mich aber dran gewöhnt. Und mal ehrlich, stören dich die paar Zeilen TCA wirklich so sehr oder ärgerst du dich nur das du so lange rumgesucht hast?

    Grüße
    Alex

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    01. 03. 2012, 08:24

    [quote="igorshmigor"]Mit dem TCA wird beispielsweise festgelegt, welche Felder im Backend erscheinen und konfiguriert die Formularfelder, so kannst Du mit dem TCA beispielsweise festlegen, dass ein Feld als einfaches Input-Feld erscheint, ein anderes als Selekt-Box, wieder ein anderes als Link-Wizard.[/quote]
    Genau, und ich brauche das im Backend nicht. Und wie ich im 2. Post schon erwähnte

    1. the frontend is mostly independant of the TCA
    klingt nicht als wäre das TCA im FE relevant.

    @Alex: ich würd gern auf FLOW3 wechseln, aber es geht hier leider nicht. Und mich stört das TCA nicht oder diese paar Zeilen zu schreiben, sondern dass ich so lange danach gesucht habe bzw. Fehler bekomme und keine eindeutige Fehlermeldung ("TCA is not configured" wäre zB prima gewesen). Auch wenn ich sonst Extbase liebe, aber für diese unspezifischen Fehler und uneindeutigen Fehlermeldungen - wenn mal welche kommen - hasse ich es.8-)
    Wie auch immer, wird nun wohl kein anderer Forennutzer mehr das TCA vergessen und wenn ich das erreicht habe, genügts mir ;)

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    01. 03. 2012, 09:15

    Hast Du im Install-Tool Deiner Entwicklungsumgebung [SYS][displayErrors]= 1 gesetzt (oder 2, wenn Du Deine IP in [SYS][devIPmask]gesetzt hast)?
    Normalerweise müsstest Du da eine ziemlich ausführliche Fehlermeldung bekommen.

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    09. 03. 2012, 12:56

    So ein ..., jetzt hänge ich schon wieder am TCA :D

    Hat einer von Euch mal eine minimale Konfiguration von TCA und Tabellen? Ich habe zB nur ein kleines Model was in der DB abgelegt werden soll, da brauche ich weder Versionierung noch Übersetzung noch Timestamp und userId. Theoretisch also nur uid, name. Würde für den Anfang mal reichen. Im Backend muss das auch nicht gepflegt werden.

    Evtl. können wir für solche Dinge auch Tutorials schreiben. Kann man Threads anpinnen?

    Gruß Sven