Hallo Mareike,
das Problem hier ist, dass die in der contentSelect Funktion definierte Anfrage direkt an die Datenbank gestellt wird. Die Datenbank hat aber keinen Zugriff auf die Eingabekomponente, so dass "linked_ressemitteilung_DE.dataset" nicht aufgelöst werden kann.
Die einfachste Lösung wäre es, wenn die FS_DATASET Eingabekomponente auf eine zu-1 Fremdschlüsselbeziehung zu den Pressemitteilungen gemappt würde.
Dazu muss im Schema zwischen den beiden Tabellen eine Fremdschlüsselbeziehung zwischen den beiden Tabellen angelegt werden. Die Eingabekomponente kann dann auf diese Fremdschlüsselbeziehung gemappt werden.
In der contentSelect Funktion kann dann über die Fremdschlüsselbeziehung das entsprechende Feld für die Sortierung definiert werden.
Nachteil: Aufgrund des geposteten Codes gehe ich davon aus, dass die FS_DATASET Eingabekomponente auf eine FirstSpirit Editor Spalte gemappt wurde. Bisher gepflegte Daten würden verloren gehen, wenn der Speicherort entsprechend geändert wird.
Befinden sich die beiden Datenbanktabellen in verschiedenen Schemata oder ist der Nachteil zu schwerwiegend, wird es etwas komplizierter.
Möglicherweise funktioniert es mit einem CMS_VALUE_PARAM:
<CMS_HEADER>
<CMS_FUNCTION name="contentSelect" resultname="all_award_entries">
<CMS_PARAM name="schema" value="public_web" />
<CMS_VALUE_PARAM name="sortCriteria" value="linked_ressemitteilung_DE.dataset.entity.datum"/>
<QUERY entityType="award_entries">
<AND>
<NOTNULL attribute="linked_ressemitteilung_DE" />
</AND>
<ORDERCRITERIA attribute="sortCriteria" descending="1"/>
</QUERY>
</CMS_FUNCTION>
</CMS_HEADER>
Ich fürchte aber, dass das nicht klappt. Lösung wäre es dann, die Daten erst einmal in eine Liste oder Map zu übernehmen und diese dann entsprechend sortiert auszugeben.
Also etwas in der Art:
$CMS_SET(set_awardmap,{:})$
$CMS_FOR(for_award,all_award_entries)$
$CMS_SET(set_awardmap[<Datum>.format("yyyyMMddHHmm")+<IDdesDatensatzes>],for_award)$
$CMS_END_FOR$
$CMS_FOR(for_award,set_awardmap.keySet)$
$CMS_VALUE(for_award)$$--Das ist das Entity--$
$CMS_END_FOR$
<Datum> ist hierbei das Datum, nachdem sortiert werden soll. Die <IDdesDatensatzes> dient nur dazu sicherzustellen, dass nicht zwei Einträge in der Map denselben Key bekommen (und sich dann überschreiben würden). Die Map wird bei der Ausgabe automatisch sortiert, man spart sich also das manuelle sortieren.
Das Ganze ist nur theoretisch runtergeschrieben. Ich habe bestimmt irgendwo einen Tipp- bzw. Denkfehler drin, hoffe aber, dass es als Lösungsansatz trotzdem funktioniert, falls die [bessere] Lösung mit der Fremdschlüsselbeziehung nicht in Frage kommt.
Viele Grüße
Holger