Search the FirstSpirit Knowledge Base
Hallo FirstSpirit Community,
auf welche Art und Weise kann man eine contentSelect Header Funktion in der selben Vorlage, wo sie definiert ist, mit einem Parameter aufrufen und wie man diesen in der Funktion selbst deklariert? So in etwa:
<CMS_HEADER>
<CMS_FUNCTION name="contentSelect" resultname="fr_books">
<CMS_PARAM name="schema" value="db_schema" />
<CMS_VALUE_PARAM name="author_id" value="param_authorId" />
<QUERY entityType="Books">
<FILTERPARAM parameter="author_id" datatype="java.lang.Integer"/>
<EQ attribute="authorsList.fs_id" parameter="author_id"/>
<ORDERCRITERIA attribute="date" descending="1"/>
</QUERY>
</CMS_FUNCTION>
</CMS_HEADER>
...
$-- zuerst wird der Autor ermittelt ... --$
$CMS_SET(set_author_id, XXX)$
$-- danach wird die Funktion aufgerufen: --$
$CMS_FOR(for_book, fr_books("param_authorId":set_author_id))$
...
$CMS_END_FOR$
Das Beispiel geht nicht (Fehlerhafte Syntax). Aber wie ist es richtig? Geht so was überhaupt? Wenn nicht, wie kann ich es realisieren?
Vielen Dank.
Guten Morgen Olga,
deinen Parameter musst du vorher definieren, bevor du die Header Funktion aufrufst.
<CMS_HEADER>
<CMS_FUNCTION name="contentSelect" resultname="fr_books">
...
<CMS_VALUE_PARAM name="author_id" value="set_authorId" />
...
</CMS_FUNCTION>
</CMS_HEADER>
$CMS_SET(set_authorId, 0815)$
$CMS_FOR(for_book, fr_books)$
...
$CMS_END_FOR$
Viele Grüße
Marcel
Guten Morgen Olga,
deinen Parameter musst du vorher definieren, bevor du die Header Funktion aufrufst.
<CMS_HEADER>
<CMS_FUNCTION name="contentSelect" resultname="fr_books">
...
<CMS_VALUE_PARAM name="author_id" value="set_authorId" />
...
</CMS_FUNCTION>
</CMS_HEADER>
$CMS_SET(set_authorId, 0815)$
$CMS_FOR(for_book, fr_books)$
...
$CMS_END_FOR$
Viele Grüße
Marcel
Hallo Marcel.
Ich dachte, dass man in der contentSelect Funktion nur auf System Objekte und Formular Felder der Vorlage zugreifen darf (anhand von Beispielen in der FirstSpirit Doku), aber so geht es tatsächlich auch.
Vielen Dank!