Mit dem "sv" Parameter (="search value") ist es möglich in Listen-Templates die Treffer zu filtern. Als Suchkriterium wird ein Array mit dem Feldname(n) und Wert angegeben.
Dem Wert voraus geht das doppelte Prozent-Zeichen %% das in der Abfrage automatisch ersetzt wird. Es handelt sich um eine SQL-Syntax, diese muss immer so aufgebaut sein.
Beispiel: Feld muss exakt WERT enthalten
- %% = 'WERT'
Beispiel: Feld darf nicht WERT enthalten
- %% != 'WERT'
Beispiel: Feld muss mit WERT beginnen
- %% LIKE 'WERT%'
Beispiel: Inhalt des Feldes muss >=2 und kleiner als 10 sein
- %% >= 2 AND %% < 10
Es ist dringend anzuraten die Daten nicht einfach ohne Prüfung in dem Array einzufügen. Wir empfehlen die Daten mittels mysql_real_escape_string() zu säubern!
Beispiel:
- <?php
- $value = mysql_real_escape_string(WERT);
- CB_TEMPLATE(array(
- "template" => "listentemplate",
- "query" => "abfrage",
- "sv" => array("feldname" => "%% = '". $value ."'")
- ));
- ?>
Im folgenden finden Sie zwei Beispiele wie das in einer fertigen Abfrage aussehen würde.
Bsp. 1: Alle Artikel unterhalb des Artikel mit ID 10
- <?php
- CB_TEMPLATE(array(
- "template" => "listentemplate",
- "query" => "abfrage",
- "sv" => array("cms_parent.id" => "%% = 10")
- ));
- ?>
Bsp. 2: Alle Artikel unterhalb des Artikel mit ID 10 und dem Titel "test" oder "hilfe".
- <?php
- CB_TEMPLATE(array(
- "template" => "listentemplate",
- "query" => "abfrage",
- "sv" => array("cms_parent.id" => "%% = 10",
- "title" => "%% = 'test' OR
- %% = 'hilfe'")
- ));
- ?>