[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