ascheuch
I'm new here

Filter in contentSelect

Hallo zusammen,

Achtung, Anfängerfrage:

Ich habe einen contentSelect, z.B. so:

<CMS_FUNCTION name="contentSelect" resultname="fr_pt_composition">

  <CMS_PARAM name="schema" value="FSDatabase" />

  <QUERY entityType="productsystem_image_relation_layer">

  <ORDERCRITERIA attribute="sort_layer" descending="0" />

  </QUERY>

</CMS_FUNCTION>

Die Inhalte gebe ich dann z.B. so aus:

$CMS_SET(Systemid,"NAV100")  // Beispielwert, wird variabel gesetzt

................

$CMS_FOR(_layer, fr_pt_composition.filter(x -> x.sysid == Systemid))$

      <systemLayer id="$CMS_VALUE(i)$" categoryId="$CMS_VALUE(_layer.Zproduct)$"></systemLayer>

$CMS_END_FOR$

................

Wie kann ich nun in der FOR-Schleife den Filter so setzen, dass er folgendem SQL-Statement entsprechen würde:

SELECT * FROM productsystem_image_relation_layer WHERE sysid LIKE 'NAV100%'

Also ein LIKE Statement direkt in der Schleife, nicht in der FUNCTION.

Ich hoffe, ich hab mich nicht zu kompliziert ausgedrückt.

Gruß Arnold

0 Kudos
2 Replies
feddersen
Community Manager

Was spricht dagegen einfach ein SQL-Like zu verwenden? Die Abfragesprache im ContentSelect kann auch "like".

Wenn x.sysid ein String ist, kann man startsWith verwenden, siehe http://www.e-spirit.com/odfs50/de/vorlagenentwicklung/vorlagensyntax/datentypen/string_1/string_1.ht...

Danke für die Info, SQL-Like im ContentSelect kenne ich, hilft mir hier nicht weiter.

'startsWith' schon eher, hab ich übersehen.

0 Kudos