Guten Morgen Thomas,
das hat etwas mit der Auswertungsreihenfolge zu tun. Die contentselect Funktion wird ausgewertet, wobei die im Context zur Verfügung stehenden Informationen (also z.B. die Werte aus Eingabekomponenten oder einem im Kontext "höheren" Template benutzt werden. Das Ergebnis bleibt dann erhalten, so dass nicht bei jedem Aufruf der Funktion eine neue Datenbankabfrage gemacht werden muss.
Das ist normalerweise von Vorteil, bei Deinem Anwendungsfall führt das aber zu dem nicht gewünschten Ergebnis.
Lösung: Nutze ein Formattemplate, um die contentSelect Funktion auszuführen. Dazu definierst Du einfach im Formattemplate einen <CMS_HEADER> und schreibst da die contentSelect Funktion rein.
Nächste Stolperfalle ist dann aber, dass der Kontext der Formatvorlage nur solange lebt, wie die Formatvorlage ausgeführt wird. Beim nächsten Schleifendurchlauf ist alles weg, was in der Formatvorlage gemacht wird, solange es nicht ausgegeben wurde (oder zu einem höheren Kontext gehört).
Lösung dafür ist dann, entweder alle Ausgaben, die sich auf die innere contentSelect Funktion beziehen, in der Formatvorlage zu machen (das ist am einfachsten, aber leider nicht immer fachlich ausreichend) oder die Informationen in den höheren Kontext zu "retten".
Letzteres geht auf zwei Arten:
Entweder im höheren Kontext eine Variable definieren (Liste, Map), die im niedrigeren Kontext modifiziert wird oder in niedrigeren Kontext eine Variable definieren, die zum höheren Kontext gehört.
Beispiele:
Absatzvorlage: $CMS_SET(set_myTempList,[])$$CMS_RENDER(template:"<UID der Formatvorlage>",myVar:<zu übergebener Wert>)$
Formatvorlage: $CMS_SET(set_myTempList[0],<zu rettender Inhalt>)$
Absatzvorlage: set_myTempList[0] hat nun den zu rettenden Wert
Wie man Variablen in einen anderen Kontext schreibt, findest Du in diesem Bereich der Doku:
https://docs.e-spirit.com/odfs/vorlagenentwick/variablen/kontexte/index.html
Da ist auch erklärt, welche Kontexte es gibt und wie die heißen (der Kontext des Absatz heißt z.B. "section", der der Seite "PAGE" {Groß und Kleinschreibung muss beachtet werden})
Ich hoffe, dass hilft weiter.
Viele Grüße
Holger