Hallo,
folgende Anforderung habe ich in meiner Extension, das ein Backend-Modul enthält. Dieses habe ich über den kickstarter in die Ausgangsposition gebracht. Als Datensätze gibt es Projekte und Tests. Diese sind mit einer MM-Tabelle verknüpft, weil beliebig viele Projekte beliebig viele Tests beinhalten können (m:n Beziehung). Die Tests sind fest definiert und wiederholen sich bei Projekten.
Also dachte ich mir ich könnte das Ergebnis eines Tests mit zusätzlichen Feldern (status, starttime, endtime, action, visitor) in die MM-Tabelle speichern. Hier kurz die SQL-Anweisung der beteiligten Tabellen ohne TYPO3-Felder:
Projekte:
CREATE TABLE tx_ext_project (
number tinytext,
tests int(11) DEFAULT '0' NOT NULL,
PRIMARY KEY (uid),
KEY parent (pid),
KEY t3ver_oid (t3ver_oid,t3ver_wsid)
);
Tests:
CREATE TABLE tx_ext_test (
title tinytext,
PRIMARY KEY (uid),
KEY parent (pid),
KEY t3ver_oid (t3ver_oid,t3ver_wsid)
);
Die daraus resultierende MM-Tabelle:
CREATE TABLE tx_ext_project_test_mm (
uid_local int(11) DEFAULT '0' NOT NULL,
uid_foreign int(11) DEFAULT '0' NOT NULL,
tablenames varchar(30) DEFAULT '' NOT NULL,
sorting int(11) DEFAULT '0' NOT NULL,
status int(11) DEFAULT '0' NULL,
starttime int(11) DEFAULT '0' NULL,
endtime int(11) DEFAULT '0' NULL,
action tinytext,
visitor tinytext,
KEY uid_local (uid_local),
KEY uid_foreign (uid_foreign)
);
Im Backendmodul gibt es eine Liste mit den Projekten (Function #1), die über dem Bleistift-Symbol bearbeitet werden können. Als Redakteur kann man nun bestimmte Tests zu einem Projekt hinzufügen. Anschließend erscheint in der Listenansicht zusätzlich ein Link zum bearbeiten der Tests (Derzeit noch als Function #2 realisiert). Hier soll ein Formular erscheinen, mit allen eben hinzugefügten Tests mit zunächst leeren Feldern. Der Redakteur ändert den Status (Selectbox) oder trägt die Start- und Endzeiten für die Tests ein. Anschließend speichert er es ab.
Mein Problem besteht daran, wie ich dem TCEforms mitteilen soll, wie die eingetragenden Werte in die Datenbank übernommen werden. Ich weiß dass man ein Datensatz ganz einfach mit TCEforms darstellen und rendern lassen kann. Ein Beispiel habe ich hier im Forum gefunden.
Nur möchte ich ein Formular erstellen, dass dann die eingetragende Werte in die MM-Tabelle übernimmt.
Geht das überhaupt? Hat da jemand so etwas realisieren können oder mir Hinweise in Form von Links posten?
PS: Eine Alternative habe ich bereits im Hinterkopf. Eine zusätzliche Tabelle tx_ext_results, die über eine 1:n-Beziehung mit der Test-Tabelle verknüpft ist. Diesen Ansatz würde ich dann verfolgen, wenn ich keine Lösung finden kann.
viele grüße
flashsilver
