Hallo zusammen,
möchte ich von meinem heutigen Erfolgserlebnis berichten, da ich mir vorstellen kann, das andere das auch mal benötigen könnten. :-) Und ja ich weiß, die Lösung ist ziemlich dirty und funktioniert nur wenn die ID im Link steht.
Problematik: 2 Kataloge (Mitarbeiter, Arbeiten) mit eine Tagfeld in Arbeiten auf entsprechende Mitarbeiter referenziert. Auf der Detailseite eines Eintrags des Katalogs Mitarbeiter möchte ich
- alle Einträge des Katalogs Arbeiten angezeigt haben, die über das entsprechende tag-Feld referenziert sind
- alle Vorteile einer Katalogliste haben zu wollen, die die Katalogreferenz nicht hat (Pagination, Filter, etc)
Dafür hab ich eine Katalog-Liste für Arbeiten angelegt und bei Bedingungen folgendes reingeschrieben:
Code:
FIND_IN_SET(SUBSTRING_INDEX(SUBSTRING_INDEX('{{env::request}}','/',-1),'.',1), <Mein-Tag-Bezugsfeld>)
Die (für mich) einfachste Möglichkeit an die ID des Detaileintrags ranzukommen (wusste nicht wie ich da von dem anderen Modul der Seite rankomme), war über den Link {{env::request}}:
Davon wird von hinten das letzte Teil ab dem Zeichen "/" genommen
Code:
SUBSTRING_INDEX('{{env::request}}','/',-1)
= z.B. 102.html
Davon dann das erste Teil bis zu dem Zeichen "."
Code:
SUBSTRING_INDEX(102.html,'.',1)
= 102 und da haben wir auch schon unsere ID
Danach wird bei evt. mehreren Einträgen nach der 102 gesucht, dafür ist das FIND_IN_SET ideal, wie auch hier schön erklärt: http://de.contaowiki.org/Catalog#Bedingung_bei_Strings .
Wenn irgendjemand mit einer saubereren Lösung dienen kann, gerne.. aber so lange nutz ich meine quick&dirty-Lösung.
'nen schönen Abend und viele Grüße
Uli
P.S. Mit Filter funktioniert es so nicht, da die ID dann nicht mehr im letzten // - String steckt... mal schauen...
Lesezeichen