Startseite
Startseite

Startseite / Vorlagenentwicklung / Vorlagensyntax / Funktionen / im Header / contentSelect

contentSelect

Mithilfe der Funktion contentSelect können Datensätze aus der Datenquellen-Verwaltung ausgegeben und zur weiteren Verarbeitung genutzt werden.

Die Funktion bietet die Möglichkeit, Datensätze zu filtern und/oder zu sortieren.

Das Ergebnis (Rückgabewert) der Funktion ist eine Liste, die alle Datensätze enthält, auf die die Filterkriterien zutreffen. Diese kann z. B. über die Anweisung $CMS_FOR(...)$ ausgegeben werden (siehe Abschnitt Ausgabe).

Syntax der Funktion contentSelect

Der Grundaufbau der Funktion contentSelect sieht wie folgt aus:

<CMS_FUNCTION name="contentSelect" resultname="BEZEICHNER">
<CMS_PARAM name="schema" value="BEZEICHNER" />
<CMS_VALUE_PARAM name="BEZEICHNER" value="WERT" />
...
<QUERY entityType="BEZEICHNER">
<FILTERPARAM parameter="BEZEICHNER" datatype="DATENTYP" value="VORBELEGUNG" />
<FETCHMODE attribute="ATTRIBUT" lazy="NUMERISCHER_BOOLESCHER_WERT" />
<ORDERCRITERIA attribute="ATTRIBUT" descending="NUMERISCHER_BOOLESCHER_WERT" />
...
<EQ attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<NEQ attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<GT attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<GTE attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<LT attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<LTE attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<IS_NULL attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<NOTNULL attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<LIKE attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<AND>
<EQ attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
...
<LIKE attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<OR>
...
</OR>
...
</AND>
<OR>
<EQ attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
...
<LIKE attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />
<AND>
...
</AND>
...
</OR>
...
</QUERY>
</CMS_FUNCTION>

Parameter der Funktion contentSelect

Die Funktion contentSelect lässt sich in einen Definitions- und einen Abfrageteil unterteilen.

Definitionsteil

Attribut

mögliche Werte

Pflichtparameter

schema

Konstante

ja

beliebige Parameter

Ausdrücke

nein

   

Der Definitionsteil besteht aus folgenden Parametern:

schema

Mit dem Parameter schema wird das Datenbank-Schema angegeben, welches für die Abfrage genutzt werden soll.

Als Wert des Parameters wird der Referenzname des Datenbank-Schemas in der Datenquellen-Verwaltung angegeben:

<CMS_FUNCTION name="contentSelect" resultname="name">
<CMS_PARAM name="schema" value="KONSTANTE" />
...
</CMS_FUNCTION>

beliebige Parameter

Mit der Definition eines frei wählbaren Bezeichners können beliebig viele Ausdrücke der Abfrage als Parameter zur Verfügung gestellt werden.

Für den Bezeichner dürfen folgende Zeichen verwendet werden:

A bis Z, a bis z, 0 bis 9 und _.

Definition unter Angabe von Ausdrücken:

<CMS_FUNCTION name="contentSelect" resultname="name">
<CMS_VALUE_PARAM name="BEZEICHNER" value="AUSDRUCK" />
...
</CMS_FUNCTION>

Beispiel für die Definition der Parameter von und bis:

<CMS_FUNCTION name="contentSelect" resultname="name">
<CMS_VALUE_PARAM name="von" value="st_startDate" />
<CMS_VALUE_PARAM name="bis" value="#global.now" />
...
</CMS_FUNCTION>

Anmerkung: Bei st_startDate handelt es sich um eine Datums-Eingabekomponente (CMS_INPUT_DATE). Bei #global.now um den Startpunkt der Veröffentlichung.

Siehe dazu auch Seite Datenbank-Abfragen.

Abfrageteil

Der Abfrageteil wird mit einem QUERY-Tag begonnen. Das QUERY-Tag ist gleichzeitig das Wurzelelement der Abfrage.

Alle Tags, die zwischen dem öffnenden und schließenden QUERY-Tag angegeben werden, werden bei der Abfrage berücksichtigt.

Mit dem Parameter entityType wird der symbolische Tabellenname im Datenbank-Schema angegeben, damit die Abfrage auf die Datensätze der zugehörigen Datenbank-Tabelle angewendet werden kann.

Mit dem Parameter limit kann das Ergebnis der Abfrage auf eine bestimmte Anzahl an Datensätzen beschränkt werden.

Beispiel:

<CMS_FUNCTION name="contentSelect" resultname="name">
<CMS_PARAM name="schema" value="KONSTANTE" />
<QUERY entityType="BEZEICHNER" limit="10">
<.../>
</QUERY>
</CMS_FUNCTION>

QUERY-Tags

Die Tags, die innerhalb des QUERY-Tags verwendet werden können, können auf der Seite Datenbank-Abfragen nachgeschlagen werden:

  • AND (Und-Verknüpfung von Abfragen)
  • EQ (Gleichheitsprüfung)
  • FETCHMODE (Ladeverhalten)
  • FILTERPARAM (Definition von Vergleichswerten)
  • GT (Größer-Prüfung)
  • GTE (Größergleich-Prüfung)
  • IS_NULL (Null-Prüfung)
  • LIKE (Ähnlichkeitsprüfung).
  • LT (Kleiner-Prüfung)
  • LTE (Kleinergleich-Prüfung)
  • NEQ (Ungleichheitsprüfung)
  • NOTNULL
  • OR (Oder-Verknüpfung von Abfragen)
  • ORDERCRITERIA

Ausgabe

Das Ergebnis einer contentSelect-Funktion kann folgendermaßen ausgegeben werden:

$CMS_IF(!BEZEICHNER.isEmpty)$
$CMS_FOR(VARIABLE, BEZEICHNER)$
$CMS_VALUE(VARIABLE.fs_id)$: $CMS_VALUE(VARIABLE.SPALTENNAME)$
$CMS_END_FOR$
$CMS_END_IF$

Dabei ist

  • BEZEICHNER der Bezeichner, der über den Parameter resultname definiert wird,
  • VARIABLE ein Variablenname und
  • SPALTENNAME der Name einer Tabellenspalte.

© 2005 - 2014 e-Spirit AG | Alle Rechte vorbehalten. | Letzte Änderung: 2012-08-14