Search the FirstSpirit Knowledge Base
Hallo zusammen,
wir stehen gerade vor der Herausforderung das wir herausfinden müssen welche Datensätze beim Generieren einer PageRef konkret in der Ausgabe landen.
Wir haben uns bisher das die Content2Params aus der PageRef geholt, und hatten erwartet das wenn wir "getData(lang)" aufrufen, nur die Entities zu erhalten, welche auch generiert werden.
Das ist leider nicht der Fall - es werden immer alle Entites auf die die Query passt geliefert.
Natürlich können wir uns jetzt manuell aus den Informationen der "getRecordCountPerPage()" & der Anzahl der Gesamteinträge die aktuelle Seite ermitteln und vermutlich wird dann der Aufruf "getData(lang, pageNumber)" nur noch das Subset an Entites liefern die gerendert werden, das wirkt allerdings auf den ersten Blick irgendwie wie eine Krücke.
Gibt es da vielleicht einen besseren Weg, den wir noch nicht gefunden haben?
Grüße,
Lars
Hallo Lars,
nur damit ich Dich richtig verstehe: Ihr macht eine Content-Projektion. Welche Einstellung habt ihr bei den maximalen Datensätzen pro Seite im SitesStore angegeben (Tab Daten)? (Kennst Du dieses Tutorial?)
Normalweise würde man sich eine Content-Projektion mit sagen wir 10 Datensätzen pro Seite erstellen (bei 50 Datensätzen würden dann 5 Seiten erstellt), die wiederum auf eine Content-Projektion (Detailseite) mit nur einem Datensatz verweist.
Auf Datensätze innerhalb einer Tabellenvorlage kann man mittels #row-Objekt zugreifen.
Grüße
Marian
Hallo Marian,
in der Content-Projektion ist uns das bewussst, wir haben allerdings in einem unserer Module nur noch die PageRef (über der ACLDb), die aktuelle Sprache und ein paar weitere Infos. Wir müssten das ganze also über die API ermitteln - aber da wohl Sortierung, etc.. auch noche ine Rolle spielen klappte das über "getContent2Params().getData()" nicht sauber - hier hatten wir ein Mapping zwischen generierter Page und Entity, was nicht aufeinander passte.
Bei Detailseiten erhalten wir entsprechend x-mal die selbe PageRef, was dann dazu führt das wir nicht wissen welche Entity gerade in der aktuellen Version auch "projiziert" wird.
Wir haben aber inzwischen einen Workaround gebaut, in dem wir während der Generierung uns im Context eine Map anlegen die die URL der Page und die zugehörige Entity speichert, so dass wir dann im Modul über die Url der Seite die Id der Entity aus der Map bekommen.
Klingt zwar ein bisschen wie mit der Kugel durch die Brust ins Auge, erfüllt aber seinen Zweck. 😉
Grüße,
Lars