Wie auch in der Dokumentation beschrieben, werden die Ergebnisse von Header-Funktionen grundsätzlich gecached. Das mag in einigen Fällen sinnvoll sein, in einigen Fällen ist es das auf jeden nicht. Durch Auslagerung in eine Formatvorlage lässt sich dieses Verhalten zwar umgehen, schön ist das aber nicht.
Aus meiner Sicht wäre es schön, wenn Header-Funktionen um eine Konfiguration erweitert werden, welche das Caching unterdrückt.
Die Header-Funktionen könnten hierzu um einen CMS_PARAM erweitert werden. Bei einem contentSelect könnte das z.B. so aussehen.
Mit Caching (Standard)
<CMS_FUNCTION name="contentSelect" resultname="frSpecialOffer">
<CMS_PARAM name="schema" value="local_scheme"/>
<CMS_VALUE_PARAM name="paramOfferType" value="stOfferType"/>
<QUERY entityType="SpecialOffer">
<FILTERPARAM parameter="paramOfferType" datatype="java.lang.String"/>
<AND>
<EQ attribute="offerType" datatype="java.lang.String" parameter="paramOfferType"/>
</AND>
</QUERY>
</CMS_FUNCTION>
Ohne Caching (Beispiel)
<CMS_FUNCTION name="contentSelect" resultname="frSpecialOffer">
<CMS_PARAM name="schema" value="local_scheme"/>
<CMS_PARAM name="cacheResult" value="false"/>
<CMS_VALUE_PARAM name="paramOfferType" value="stOfferType"/>
<QUERY entityType="SpecialOffer">
<FILTERPARAM parameter="paramOfferType" datatype="java.lang.String"/>
<AND>
<EQ attribute="offerType" datatype="java.lang.String" parameter="paramOfferType"/>
</AND>
</QUERY>
</CMS_FUNCTION>