Hallo,
in userem System wird keine Freigabe verwendet (also wenn etwas gespeichert wird, wird es auch veröffentlicht).
Nun soll jedoch in einer Datenquelle ein Bearbeitungsstand möglich sein und dieser erst "bei Freigabe" veröffentlicht werden.
Nun habe ich mir folgendes überlegt (ist nicht toll, aber es sollte die Anforderung erfüllen).
Bei der Pflege de Datensatzes gibt es ein Eingabefeld "nicht veröffentlichen", wenn das gesetzt ist, wird der aktuelle Stand nicht veröffentlicht.
Der Stand des Datensatzes, der veröffentlicht werden soll, hat das Merkmal "nicht veröffentlichen" nicht gesetzt.
Also will ich über die Historie iterieren (ich hoffe, die kommt geordnet an - also die letzte Änderung als erstes und das "Anlegen" des Datensatzes als letztes):
$CMS_FOR(PRListEntity,#row.getSession().getHistory(#row.getKeyValue()))$
[Wenn Merkmal das erste Mal nicht gesetzt, merke dir PRListEntity]
$CMS_END_FOR$
Das scheint zu funktionieren.
Nun habe ich bei der Pflege der Datensätze u.a. eine "CMS_INPUT_CONTENTAREALIST". Die Elemente (eingefügt mit <TEMPLATE .../>) dieser Liste werden z.T. bei bestimmten Reihenfolgen/Anzahlen noch formatiert - somit kann ich das nicht direkt in dem <TEMPLATE .../> vornehmen.
Wenn ich in der Tabellenvorlage über den Bezeichner der ContentAreaList von dem "aktuell freigegebenen" Datensatz gehe, kann ich über die Elemente iterieren und die notwendigen Formatierungen vornehmen.
=> $CMS_FOR(item,cs_ctlist)$ (liefert: de.espirit.firstspirit.client.access.editor.ContentAreaListValueImpl$SectionListImpl)
Wenn ich nun von dem historieschen Stand dies auch machen möchte, klappt das nicht.Da bekomme ich einen EditorWrapper
Nun sollte man die Daten ja über das Formular der Datenquelle holen (Content2 = contentstore.getContent2ByName(refernznameDerdatenquelle);
, aber wie komme ich da mit der CMS_Syntax ran?
Hat jemand eine Idee?