Gestern hat euch der Frank den Unterschied von temp und lib Objekten beschrieben und ich muss mich dafür entschuldigen das Türchen 20 Ausgefallen ist. Liege im Moment halb krank im Bett. Dafür gibt es nächstes Jahr das Türchen doppelt. Nun zum eigentlichen Türchen…
Ergänzend zu diesem Beitrag wollte ich euch einfach einmal zeigen wie dies in einer Extension aussehen kann. Oft werden Extension nachträglich manipuliert und aus einer 1:n Beziehung kann mal schnell eine m:n Beziehung werden (Kundenwunsch 😉 ). Dies in TYPO3 zu realisieren ist nicht sehr aufwendig, aber bei einer Umstellung kann gerne mal was schief gehen.
Der einfachere Weg ist, den Datenbank Typ des betreffenden Feldes zu ändern (damit die kommaseparierte Liste aufgenommen werden kann) und im TCA das betreffende Feld nicht mehr begrenzen (zusätzlich vielleicht auch größer machen). In der Extension fragt man das betreffende Feld dann nur ein wenig anderes ab. Anstatt im WHERE String einen direkten vergleich zu machen…
... AND feldname=5 ...
wird nun eine TYPO3 Methode zur Hilfe genommen.
... AND '.$GLOBALS['TYPO3_DB']->listQuery('feldname',5,'tabellenname').' ...
Dadurch wird nun automatisch ein WHERE-Block generiert der die kommaseparierte Liste in den Datenbanken auflöst. Probiert es am besten selber mal aus.
PS: Performanter und schöner ist eine ordentliche Detail Tabelle!!