GSB 7.0 Standardlösung

Dynamisches Nachladen von Suchergebnislisten

Für paginierte Darstellungen von generischen Tabellen ist es möglich, die Pagination durch einen Button zu ersetzen. Dieser Button führt bei einem Klick dazu, dass die Treffer der nächsten Seite am Ende der bisherigen Treffer eingefügt werden. Ist die letzte Seite erreicht, wird der Button entfernt.

Hinweis:
Dokumente, die innerhalb einer solchen paginierten Darstellung angezeigt werden, müssen redaktionell keine besonderen Voraussetzungen erfüllen.

Die Funktion stellt Voraussetzungen an die Layouts von generischen Tabellen. Die Standardlösung wird mit einem Layout ausgeliefert, welches diese Voraussetzungen erfüllt:

  • Dokument: /standardlsg/SiteGlobals/Layout/ContentRegion/Tabellen/Tabelle/Layout_Pressemitteilungen_NachladenPerButton
Hinweis:
Die Voraussetzungen müssen auf Ebene der individuellen Entwicklung eines Mandanten sichergestellt werden, da insbesondere die Positionierung des Buttons und die Tatsache, ob überhaupt eine Pagination genutzt wird, Layout-spezifisch entschieden werden muss. Die individuellen und konkreten Anforderungen des Mandanten können auf Grundlage der Implementierung des Mandanten standardlsg einfach im Rahmen der Mandantenentwicklung adaptiert und angepasst werden.

Einmalige Voraussetzungen

Damit die Nutzung eines kompatiblen Layouts innerhalb einer generischen Tabelle zur Ergänzung des Buttons und Ausblendung der Pagination führen, müssen gewisse Voraussetzungen erfüllt sein.

Hinweis:
Die nachfolgenden Punkte müssen nicht kontrolliert werden, wenn eine Standardlösung (GSB Version 10.1) zum Aufsetzen des betroffenen Mandanten genutzt wurde. In diesem Fall sind die jeweiligen Dokumente bereits Bestandteil des Content.

Label für Button anlegen

Der Button zum Nachladen der Treffer kann optional durch ein Label bestimmt werden.

Beispiel(e) in der Standardlösung

  • Dokument: /standardlsg/_config/ResourceBundleEntries/Labels/DynamicListLoader_LoaderButtonText

Javascript-Modul anlegen

Für die Funktion ist ein eigenes Javascript-Modul zuständig, welches aus der Standardlösung übernommen wird.

Beispiel(e) in der Standardlösung

  • Dokument: /standardlsg/SiteGlobals/Frontend/JavaScript/modules/gsb_dynamiclist_loader

Javascript-Modul verlinken

Damit das Javascript-Modul aufgerufen werden kann, muss es noch im Abschnitt Parameter → modules des jeweiligen global-Javascripts ergänzt werden.

Beispiel(e) in der Standardlösung

Dokumente:

  • /standardlsg/SiteGlobals/Frontend/JavaScript/init/global
  • /standardlsg/SiteGlobals/Frontend/JavaScript/init/EN/global

Javascript-Modul beim Seitenaufruf initialisieren

Damit das Javascript-Modul aufgerufen wird, muss es noch im init-Javascript in der Property Script(lesbar) ergänzt werden.

Der dazu notwendige Abschnitt ist im Beispieldokument der Standardlösung in der Property Script(lesbar) mit folgenden Kommentaren gekennzeichnet:

## Start dynamisches Nachladen von Suchergebnislisten...## Ende dynamisches Nachladen von Suchergebnislisten
Hinweis:
Für die Ermittlung der bisherigen Treffer und der nachgeladenen Treffer ist es wichtig, dass diese durch den in der Konfigurationsoption selectors.dynamicListElement angegebenen CSS-Selektor gefunden werden. Dieser wird innerhalb des Elternelements ausgewertet, auf das das Javascript-Modul aufgerufen wird. Im Beispiel der Standardlösung wird aufgrund der Tatsache, dass es sich um eine HTML-Table handelt, der Selektor tbody > tr gewählt. Sofern die Konfigurationsoption leer ist, wird davon ausgegangen, dass die Treffer durch ein data-dynamiclist-element-Attribut gekennzeichnet sind.

Beispiel(e) in der Standardlösung

  • Dokument: /standardlsg/SiteGlobals/Frontend/JavaScript/init/init

Globale Variablen für Javascript bereitstellen

Das Javascript-Modul besitzt Abhängigkeiten zu folgenden globalen Variablen:

  • DYNAMICLIST_LOADER_BUTTON_TEXT(optional, Standard: Weitere Ergebnisse anzeigen): enthält Label für den Button, der Treffer nachlädt.

Die Integrationen der beiden Parameter erfolgt analog der Standardlösung.

Beispiel(e) in der Standardlösung

  • Dokument: /standardlsg/SiteGlobals/Frontend/JavaScript/init/variables_LABELS