daniel2
I'm new here

Abfrage mit LIKE auf verknüpfte Datenquelle

Hallo Community,

ich bin gerade überfordert mit einer Datenquellenabfrage auf eine verknüpfte Datenquelle (m:n) – wohl mit Zuhilfenahme von LIKE.

Mein Szenario:

Eine Datenquelle "articles", die mit "tags[tags]" auf die Datenquelle "tags" referenziert (m:n).

Die Datenquelle "tags" hat nur das zusätzliche Feld "name" für den Namen des Schlagwortes.

Eine FS_LIST-Komponente im Template, dass ein oder mehrere Schlagworte aus "tags" referenziert.

Der Filter soll folgendes können:

Alle Einträge in "articles" finden, die wenigstens ein Schlagwort aus der FS-LIST-Komponente verknüpft haben.

Wurden also in der FS_LIST die Schlagworte "Projekt", "Förderung" und "Kapital" gewählt, so sollen alle Einträge in "articles" gefunden werden, die wenigstens eines der Schlagworte verknüpft haben.

Mein erster Ansatz ist dieser Filter:

<QUERY entityType="articles">

          <FILTERPARAM parameter="tags" datatype="java.lang.String" value="Projekt"/>

          <LIKE attribute="tags.name" parameter="tags"/>

</QUERY>

Dieser landet natürlich Treffer. Nur wie übergeb ich dem Parameter "tags" mehrere Schlagwortnamen?

Oder bau ich's falsch auf? Muss ich doch über die fs_id abfragen?

Dummerweise können massig Schlagwörter verlinkt werden, sonst wäre ein <OR>-Node sicherlich eine Lösung.

Danke für Euren Support im Voraus,

Daniel

10 Replies

Hallo,

kann man den Parameterwert auch über eine globale Variable füllen, z. B. #global.project.id?

Ich habe es mir so vorgestellt:

<CMS_INPUT_COMBOBOX name="cs_domain" allowEmpty="yes" sortOrder="ascending" useLanguages="no">

      <CMS_INCLUDE_OPTIONS type="database">

        <LABELS>

          <LABEL lang="*">#item.domain_name</LABEL>

        </LABELS>

        <QUERY name="cms_teaser.get_domain_id_to_cms_project">

          <PARAM name="project_id">#global.project.id</PARAM>

        </QUERY>

        <TABLE>cms_teaser.t_domain</TABLE>

      </CMS_INCLUDE_OPTIONS>

      <LANGINFOS>

        <LANGINFO lang="*" label="Domain"/>

      </LANGINFOS>

    </CMS_INPUT_COMBOBOX>

--> #global.project.id soll hier die ID des aktuellen CMS-Projektes eintragen

0 Kudos