[TYPO3-german] m:n-Tabellen im BE bearbeiten

David Bruchmann david at bruchmann-web.de
Mon Apr 13 15:29:07 CEST 2009


----- Ursprüngliche Nachricht -----
Von:        Markus Deckmann <Markus.Deckmann79 at web.de>
Gesendet:   Montag, 13. April 2009 14:23:40
An:         typo3-german at lists.netfielders.de
CC:
Betreff:    [TYPO3-german]  m:n-Tabellen im BE bearbeiten
> Hi Leute,
> 
> ich stehe gerade vor einem kleinen Problem. Ich habe mithilfe einer 
> eigenen Extension tt_news um einige Felder erweitert und mit tt_address 
> verbunden. Innerhalb eines tt_news-Elements können jetzt tt_address 
> Datensätze ausgewählt werden. Diese werden in einer eigenen m:n-Tabelle 
> gespeichert.
> 
> Wie kann ich dieser Verbindungstabelle jetzt weitere, bearbeitbare 
> Felder mitgeben. Ich würde einer solchen Zuordnung gerne noch eine 
> Priorität mitgeben die allerdings ja nur für diese spezifische 
> Verknüpfung gilt und deshalb direkt beim Adressdatensatz bzw. dem 
> tt_news-Datensatz falsch gespeichert wäre.
> 
> Leider bietet der Kickstarter nur die Möglichkeit zu sagen: "Mache mir 
> eine m:n-Tabelle". Leider scheint es keine Möglichkeit zu geben dieser 
> Tabelle weitere Felder mitzugeben die dann ebenfalls durch den Benutzer 
> editierbar sind.
> 
> Oder habe ich nur etwas übersehen und es ist leichter als ich denke?
> 
> Ciao Markus


Hy Markus,


bei der Aufgabenstellung ist erst einmal der Punkt zu berücksichtigen, 
ob die zusätzlichen Felder manuell im Backend bearbeitet werden können 
sollen.
m:n Tabellen tauchen im Backend normalerweise nicht auf, so daß die Art 
der Verknüpfung für den Redakteur unsichtbar bleibt.

Jetzt zurück zur eigentlichen Aufgabenstellung:
normale m:n Verknüpfungen greifen auf viele Funktionen zurück, wo die 
Eingabe zusätzlicher Daten nicht vorgesehen ist. Ein Blick in 
class.t3lib_db.php schafft hier Klarheit.
Du kannst natürlich die m:n Verknüpfung manuell herstellen, indem Du die 
entsprechenden Tabellen einzeln anlegst und untereinander verknüpfst, 
eventuell kannst Du ja einige bestehende Funktionen für m:n-Queries 
trotzdem verwenden.

Alternativ kannst Du Dir die Funktionen raussuchen, die TYPO3 zum 
Handling von m:n-Tabellen verwendet und in Deiner eigenen Klasse 
überschreiben.

Der einfachere Weg ist wie gesagt, einfache Tabellen anzulegen und die 
Verknüpfungen im Kicksstarter als 1:n zu definieren, wobei Du die 
m:n-Funktionalität dann durch die Definition der SELECTs in Deiner 
Erweiterung selbst herstellen mußt.
Die richtige Darstellung der Labels ist dann etwas schwieriger, da das 
integrierte m:n-Handling umgangen wird, aber Du hast dann volle 
Kontrolle über den Umfang Deiner Tabellen.

Die Anzeige der Tabellen, egal ob 1:n oder m:n, ob selbst oder vom 
Kickstarter angelegt, läßt sich durch entsprechende Einträge in 
ext_tables.php und tca.php bestimmen. Bei m:n Tabellen werden vom 
Kickstarter hier einfach keine Anzeigeoptionen eingetragen, so daß die 
Tabellen versteckt sind. Bei 1:n Tabellen ist das leicht 
nachvollziehbar, bei m:n-Tabellen müßtest Du es erst mal testen - ich 
habe das selbst noch nicht ausprobiert.

Gruß
David




More information about the TYPO3-german mailing list