Search the FirstSpirit Knowledge Base
Hallo,
Über eine Subscribe-Funktion hat ein User die Möglichkeit, Seiten zu abonnieren. Er bekommt auf der Startseite die Seiten angezeigt, die sich seit seinem letzten Besuch verändert haben. Dieses Datum der Änderung erhalte ich durch das Auslesen des Änderungsdatums der Seiten.
private long getLastGenerateDate() {TemplateStoreRoot templateStore = (TemplateStoreRoot)userService.getStore(Type.TEMPLATESTORE, true);
Schema schema = templateStore.getSchemes().getSchemaByName(SCHEMANAME);
if (schema != null) {
Session session = schema.getSession();
Select xml2Select = session.xml2Select(QUERY_ALL_URL_ENTRIES);
xml2Select.setMaxResultCount(1);
EntityList entityList = session.executeQuery(xml2Select);
if (entityList.size() > 0) {
Entity entity = entityList.get(0);
Long changedate = (Long)entity.get("Changedate");
if (changedate != null) {
return changedate;
}
}
}
return 0;
}
Auf Seiten mit ContentSelect funktioniert dies leider nicht. Diese behalten ihr Änderungsdatum beim Generieren, auch wenn sich die faktischen Inhalte geändert haben.
Was kann ich tun, um das Skript auch für ContentSelect-Seiten benutzbar zu machen?
Viele Grüße,
Markus Bucher
Die Ergebnisliste des ContentSelects enthält ja die Datensätze inkl. deren Änderungsdatum. Vermutlich wäre dann der "neueste" Datensatz die für dich relevante Information, mit der du das Änderungsdatum der Seite überschreiben kannst.
Wenn ich deinen Code richtig verstehe, ist dies schon der Versuch, das Datum des neusten Datensatzes zu bekommen. Ich nehme an, in QUERY_ALL_URL_ENTRIES steht eine Abfrage, welche die Datensätze nach "Changedate" sortiert (weil du anschließend nur den ersten Datensatz betrachtest). Unter dieser Annahme (und wenn in "Changedate" das gewünschte Datum steht), sieht der Code für mich ok aus.
Kannst du etwas mehr erzählen, was genau daran nicht funktioniert? Und vielleicht auch etwas mehr, wann und mit welchen weiteren Parametern dieser Code aufgerufen wird?
Hallo Markus,
konnte dein Problem inzwischen gelöst werden oder benötigst du noch Unterstützung? In diesem Fall wäre es hilfreich, wenn du Peters Fragen beantworten könntest, damit wir mehr Informationen haben.
Falls dein Problem bereits gelöst wurde wäre es super, wenn du die Lösung hier kurz erläutern würdest!
Viele Grüße
Tim