Contao-Camp 2024
Ergebnis 1 bis 2 von 2

Thema: Hilfe bei Filter-SQL

  1. #1
    Contao-Fan Avatar von rezico
    Registriert seit
    04.01.2011.
    Ort
    Nürnberg
    Beiträge
    446

    Standard Hilfe bei Filter-SQL

    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:

    PHP-Code:
    SELECT p.id FROM mm_products AS 
       INNER JOIN tl_metamodel_tag_relation 
    AS tr 
       ON p
    .id tr.item_id AND tr.value_id = {{page::id}} 
    Wahrscheinlich recht simpel aber Mysql ist nicht gerade meine Stärke, evtl. kann mir jemand auf die Sprünge helfen...

    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!
    Contao ist schon was Feines...

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.682
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von rezico Beitrag anzeigen
    [*]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)

    Wahrscheinlich recht simpel aber Mysql ist nicht gerade meine Stärke, evtl. kann mir jemand auf die Sprünge helfen...
    ... leider nein - MySQL kann mit Hierachien nicht gut umgehen; wenn man die Hierarchieebenentiefe von der Suche her begrenzt, gibt es da einige Möglichkeiten das umzusetzen - Bsp. https://stackoverflow.com/questions/...ecursive-query - schön wäre die Auswahl der Speicherung als "nested set" gibts aber in Contao/MM leider nicht


    Zitat Zitat von rezico Beitrag anzeigen
    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.
    ... die Frage verwirrt mich... da der Attributstyp sicher eine Mehrfachauswahl [tags] ist - Du schreibst ja auch von zugewiesenen Seiten (plural) - und bei Tags gibt es ein Auswahlfeld für einen Filter... wo hast Du "SQL-Befehle innerhalb des Attributes" eingetragen?!? um auf die Frage zu kommen, ja man kann die Tags-Auswahl eingrenzen - warum man das auf eine bestimmte Seite begrenzen sollte ist mir unklar...

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •