Hallo zusammen,
ich meld mich auch mal wieder :-)
Folgende Situation:
- Einem Metamodel werden Seiten zugewiesen
- Diese Seiten fungieren als Kategorien und haben bis zu 4 Ebenen
- Ein Produkt kann mehreren Kategorien zugewiesen werden
- Es gibt 2 Seitenbäume (DE sowie EN, also mehrsprachig, vermutlich nicht wichtig da die Produkte auch sowieso den englischen Seiten zugewiesen werden müssen)
- Wunsch: Ich möchte, dass wenn Seite 9 ein Child von Seite 5 ist und ich mich auf Seite 5 befinde, er mir trotzdem sämtliche zugewiesenen Artikel der Childs anzeigt. Dadurch muss in der Kategoriezuweisung nur noch die letzte Kategorie zugewiesen werden und nicht mehr zusätzlich zur eigentlichen Kategorie: Parent 1, Parent 2 und Parent 3 (Produkte -> Kategorie 1 -> Kategorie 2 -> Eigentliche Kategorie)
Was ich habe:
Der SQL-Befehl, dafür sorgt, dass ich auf der aktuellen Seite auch die zugewiesenen Artikel angezeigt bekomme:
Wahrscheinlich recht simpel aber Mysql ist nicht gerade meine Stärke, evtl. kann mir jemand auf die Sprünge helfen...PHP-Code:
SELECT p.id FROM mm_products AS p
INNER JOIN tl_metamodel_tag_relation AS tr
ON p.id = tr.item_id AND tr.value_id = {{page::id}}
Die tl_metamodel_tag_relation hat die Felder "item_id" (Produkt-ID) sowie "value_id" (ID der Kategorie/Seite)
Die PID bzw. ID der Seite befindet sich wie ihr sicher wisst in der tl_page
Und die ID der aktuell aufgerufenen Seite hole ich mir über {{page::id}}
Kleine Zusatzfrage: Ist es möglich den Popup-Picker so zu konfigurieren, dass er mir nur eine ausgewählte Seite anzeigt? Im ersten Versuch hatten die SQL Befehle innerhalb des Attributs keine Auswirkungen gehabt.
DANKE!
Lesezeichen