Ein herzliches "Hallo" an die Community.
Ich habe derzeit ein für mich kniffliges Problem mit dem IRRE.
Ich habe 2 Tabellen einer Extension, die ich miteinander verknüpfen möchte. Die Verknüpfung soll eine n:m Relation sein, daher habe ich hierfür bereits eine separate Tabelle angelegt.
Beim Eintragen eines Datensatzes in eine der Tabellen, sollen mir alle Datensätze aus der jeweils anderen Tabelle angezeigt werden. Dies ist an sich ohne weiteres per TCA-Defintion mittels "type"="select" und "foreign_table"="abc" machbar. Der Haken hier ist, dass an dieser Stelle nur bereits vorhandene Datensätze gewählt werden können. Dem Benutzer fehlt also die Möglichkeit selbst Datensätze neu erzeugen zu können.
An dieser Stelle kommt der Ansatz mit IRRE ins Spiel, sprich "type"="inline". Hier ist es nun sehr wohl möglich neue, zu verknüpfende Datensätze einzufügen.
Mein Problem an der ganzen Sache ist jedoch: ich kann die bereits existierenden Datensätze nicht auswählen, sondern nur noch neue hinzufügen.
Da ich mich jetzt schon seit Stunden damit befasse, kann es gut sein, dass ich den sprichwörtlichen Wald vor lauter Bäumen nicht sehe und eventuell Informationen ausgelassen habe, die wichtig wären. Wenn dem so ist, einfach nachhaken.
Ich danke schon im Voraus für euer Engagement.
Hallo,
leider sind bereits einige Monde ins Land gegangen. Ich habe mich jedoch intensivst mit dem von dir empfohlenen Dokument gewidmet.
In der Tat wird hier IRRE sehr umfangreich abgehandelt und vielfältig beispielhaft erläutert. Mit einiger Zeitinvestition habe ich das symmetrische n:m Beispiel nachgestellt und auf meinen Anwendungsfall umgemünzt. Anzumerken ist hierbei, dass ich in meiner ursprünglichen Problembeschreibung von 2 Tabellen gesprochen hatte. Korrekterweise ist es 2x dieselbe Tabelle, die ich über eine hierarchische Abbildung verknüpfen möchte, daher symmetrisch.
Nachdem ich nun die Konstellation nachgestellt hatte, auf der die Erklärungen basierten, konnte ich auch alle beschriebenen Schritte und Möglichkeiten nachstellen, die angeführt wurden. Im Zuge meiner Experimente bin ich auch zu dem Schritt gestoßen, bei dem es partout nicht weitergeht:
Es gibt keine (dokumentierte) Möglichkeit Child-Records inline zu erstellen. Ich kann lediglich inline bereits bestehende selektieren und diese mit dem gerade neu zu erstellenden Datensatz verknüpfen. Für den asymmetrischen Fall ist maximal noch ein Editieren des selektierten Child-Records möglich (wie im abschnitt 3.4.3. beschrieben). Das lässt sich aber nicht auf den symmetrischen Fall übertragen, da dann aufgrund eines Nesting Errors
Fatal error: Maximum function nesting level of '100' reached, aborting! in [...]\t3lib\class.t3lib_befunc.php on line 2565
abgebrochen wird.
Der Fehler an sich erscheint mir logisch und unlogisch zugleich. Logisch, weil eine Verknüpfung auf hierarchischer Ebene mit ein und derselben Tabelle eine endlose Rekursion ermöglicht. Unlogisch, weil ich diese endlose Rekursion nirgends anstoße. Ich arbeite mich ja beim Eintragen häppchenweise vorwärts, immer eine Ebene weiter.
Ich behaupte jetzt mal frech, dass mit den derzeitigen Mitteln mein Vorhaben nicht möglich ist. Einerseits schade, andererseits war es eine interessante Knobelei.
Eventuell gibt es ja irgend einen Feed oder eine Anlaufstelle, die mich über Fortschritte bei IRRE auf dem laufenden hält.