Inhalte auf Drupal-Webseite automatisch nachladen

Inhalte auf Drupal-Webseite automatisch nachladen

Das Views-Modul gehört zu den am häufigsten verwendeten und wichtigsten Erweiterungen für eine Drupal-Seite, wenn man dort Inhalte strukturiert darstellen will. Hat man viele Beiträge, so wird man in der Regel diese nicht alle auf einmal auf einer einzigen Seite ausgeben wollen (das sorgt für lange Ladezeiten und ist für die Besucher nicht gerade angenehm), sondern z.B. immer zehn Beiträge pro Seite und dazu eine Seitennavigation verwenden.


Der Besucher muss also aktiv werden und durch einen Klick auf eine Navigationsschaltfläche (Pager genannt) die nächste Seite mit den nächsten Beiträgen aufrufen. Schicker wäre es natürlich, wenn beim Runterscrollen die nächsten Beiträge automatisch nachgeladen würden, sobald man den letzten Beitrag erreicht hat.


Genau das bietet das Drupal-Modul Views Infinite Scroll. Nach der Installation steht innerhalb eines Views ein weiterer Pager zur Verfügung, der "Infinte Scroll" (siehe folgenden Screenshot)


Screenshot Pager für Views infinite scroll


Dieser bietet verschiedene Einstellmöglichkeiten. Die wichtigste ist die Zahl der Elemente die pro Seite angezeigt werden sollen. Wobei der Infinite-Scroll-Pager eigentlich keine Seiten ausgibt. Der Wert gibt daher an, wieviele Elemente geladen bzw. beim Erreichen des letzten Elements, automatisch nachgeladen werden.


Und so wird Views Infinite Scroll installiert (auf Drupal 7, mit installiertem Views3):


  1. Das Autopager-Plugin für die JavaScript-Bibliothek jQuery herunterladen (https://github.com/sagotsky/jquery-autopager) und installieren. Am besten geschieht dies in einem eigenen Ordner im Library-Verzeichnis ../sites/all/libraries/autopager
  2. Die Module jQuery Update, Views Infinite Scroll und Chaos Tool suite (ctools) installieren und aktivieren.
  3. Einen neuen View erstellen und darin unter "Pager" den Eintrag "Infinite Scroll" auswählen und ein den Einstellungen in "Items per Page" die Zahl der Elemente eintragen, die auf einmal ausgegeben werden sollen.
  4. Den View speichern und an gewünschter Stelle in die Webseite einbinden. Fertig.

Folgendes gilt es beim Einsatz von Views Inifinite Scroll zu beachten:


Pro Seite darf nur ein View mit einem Infinite Scroller eingebaut werden. Werden zwei oder mehr Views eingebaut, funktioniert das Ganze nicht!


Das Modul ist nicht kompatibel mit Views, die Ajax-Unterstützung aktiviert haben.


Wenn der Browser des Seitenbesuchers kein Javascript ausführt (z.B. weil dies geblockt wird), so erscheint die gewohnte Seitennavigation mit dem normalen Pager zum Vor- und Zurückblättern. Die Seite ist also voll zugänglich, nur das automatische Nachladen funktioniert natürlich nicht.