Hallo,
ich habe mit dem Kickstarter eine Tabelle mit einem Relationsfeld
und echter MM Relation angelegt.
Die Assoziativtabelle wurde angelegt und funktioniert auch.
Dann wollte ich aus der Zieltabelle ebenfalls die Relationen
bearbeiten können. Also hab ich das entsprechende Feld nach der Doku
angepasst.
MM => "gleicher tabellenname"
MM_opposite_field" => "feldname aus der basistabelle"
Sobald ich das verwende bekomme ich im Backend einen SQL Fehler.
Der Fehler geht zurück auf die Funktionen
"readMM()" und "writeMM()" in der Datei
class.t3lib_loaddbgroup.php
(Zeile 270 und 330)
In diesen Funktionen wird unterschieden, ob "vorwärts" oder "rückwärts" auf die Assoziativtabelle zugegriffen wird.
Bei Rückwärtszugriff werden die UIDs getauscht, damit die Assoziativtabelle richtigherum geschrieben wird.
Ebenfalls wird dabei die Sortierklausel gesetzt.
Und da knirscht es.
es gibt die Varianten:
$sorting_field = 'sorting_foreign';
$sorting_field = 'sorting';
Die jeweils das Sortierfeld der Ass.Tabelle angeben.
Jetzt gibt es einiges Hin und Her mit der Benennung des Sortierfeldes.
In der Doku ist es mit "sorting" bezeichnet und auch der Kickstarter nennt es so.
In den Bugreports etc.findet man, dass bei Typo3 4.1.x das Feld aber "sorting_foreign" heißen muss.
Es ist aber letztlich egal, wie ich das Feld in der Tabelle benenne, der Zugriff geht immer bei einer Variante schief.
Heißt das Feld "sorting", gehen die Rückwärtszugriffe nicht
(weil dann "sorting_foreign" gesetzt wird).
Heißt es "sorting_foreign" gehen logischerweise die Vorwärtszugriffe nicht.
Setze ich $sorting bei beiden Varianten gleich (und bennen die Tabelle entsprechend) funktionieren beide Zugriffsarten,
und auch die Vertauschung der IDs etc. funktioniert.
Hab ich was falsch konfiguriert?
(ist eigentlich unwahrscheinlich, weil die Werte ja hardcoded sind)
Ist das ein Bug?
Wenn ja, wieso findet man dazu nichts? In allen Versionen bis hoch zur 4.2beta ist dieser Eintrag enthalten.
Entweder ich mach was falsch, oder bei keinem Nutzer funzen die MM Tabellen?
mfG
-- -- muckelzwerg