Zu Content springen
Shopware

Shopware 6 Pagination: Listen und Daten sauber navigieren

von Konstantin Knöll

Shopware 6 Pagination: Listen und Daten sauber navigieren
12:46

Pagination teilt lange Listen in überschaubare Abschnitte auf. In Shopware 6 ist sie deshalb immer dann relevant, wenn Nutzerinnen und Nutzer viele Datensätze durchsehen sollen, etwa Produkte, Bestellungen, Kunden oder Inhalte in einer administrativen Listenansicht. Entscheidend ist die Unterscheidung zwischen zwei Ebenen: Die Oberfläche zeigt Seitennummern oder Navigationselemente an, während die Datenlogik festlegt, welche Datensätze für die gewählte Seite geladen werden. Beides gehört zusammen, ist aber nicht dasselbe.

Für eine saubere Umsetzung reicht es daher nicht, nur eine Pagination sichtbar zu machen. Die Listenansicht muss ihren aktuellen Zustand an die Datenquelle übergeben können, und die Datenquelle muss passende Ergebnisse sowie ausreichend Informationen für die Navigation liefern. Wie das im Detail aussieht, hängt vom Bereich, von der verwendeten Shopware-Version und gegebenenfalls von Erweiterungen ab.

Arbeitsplatz mit neutral dargestellter Listenansicht und Seitennavigation

Was Pagination in Shopware 6 leistet

Eine paginierte Liste zeigt nicht alle verfügbaren Einträge auf einmal, sondern jeweils einen begrenzten Ausschnitt. Statt beispielsweise eine umfangreiche Produktübersicht vollständig auszugeben, sieht der Nutzer zunächst eine Seite mit einem Teil der Ergebnisse und wechselt anschließend vor oder zurück. Das schafft Orientierung und macht große Datenbestände im Arbeitsalltag besser handhabbar.

Die Seitennavigation hat dabei mehrere Aufgaben: Sie macht erkennbar, dass weitere Ergebnisse vorhanden sein können, erlaubt den Wechsel zwischen Ausschnitten und sollte den aktuellen Zustand der Liste nachvollziehbar abbilden. In einer Administration betrifft das oft redaktionelle oder operative Prozesse. Wer etwa Produkte prüft, Bestellungen bearbeitet oder Kundendaten kontrolliert, benötigt eine Liste, deren Filterung, Sortierung und Seitenwechsel konsistent zusammenspielen.

Wichtig ist die Abgrenzung zu verwandten Funktionen: Eine Sortierung verändert die Reihenfolge der Datensätze. Ein Filter grenzt die Ergebnismenge ein. Die Pagination verteilt das daraus resultierende Ergebnis auf mehrere Seiten. Ändert sich ein Filter, muss die bisherige Seitennummer unter Umständen neu bewertet werden. Bleibt eine Ansicht beispielsweise auf einer späteren Seite, obwohl der neue Filter nur wenige Treffer liefert, kann eine leere Liste entstehen, obwohl passende Daten vorhanden wären.

Bereich Aufgabe Typische Verantwortung Worauf es ankommt
Oberfläche Seitennavigation sichtbar und bedienbar machen Darstellung, Interaktion, aktueller Listenstatus Die gewählte Seite muss verständlich angezeigt werden.
Datenquelle Passenden Ausschnitt der Liste bereitstellen Datenabruf und Umfang der Ergebnisse Die Daten müssen zur gewählten Seite, Sortierung und Filterung passen.
Listenlogik UI und Datenquelle verbinden Übergabe und Aktualisierung des Zustands Seitenwechsel darf nicht zu widersprüchlichen Ergebnissen führen.

Pagination in der Administration

Im Administrationskontext ist die Komponente <sw-pagination> als UI-Baustein für paginierte Listen ein naheliegender Bezugspunkt. Ihre Aufgabe ist zunächst die Bedienung der Navigation: Sie bildet ab, dass eine Liste mehrere Seiten besitzt, und ermöglicht den Wechsel zwischen diesen Seiten. Damit verbessert sie die Orientierung innerhalb einer Listenansicht, ersetzt aber nicht die eigentliche Datenabfrage.

Für Verantwortliche außerhalb der Entwicklung ist diese Trennung besonders wichtig. Eine sichtbare Navigation sagt noch nichts darüber aus, ob die Liste im Hintergrund korrekt aktualisiert wird. Beim Seitenwechsel muss die Listenansicht die angeforderten Datensätze erneut laden oder ihren Datenbestand passend aktualisieren. Erst wenn Anzeige und Datenlieferung denselben Zustand verwenden, ist die Pagination fachlich stimmig.

Die konkrete Nutzung einer Admin-Komponente kann sich je nach Shopware-Version, Administrationsmodul oder Erweiterung unterscheiden. Deshalb sollten Teams genaue Eigenschaften, Ereignisse und mögliche Anpassungspunkte immer gegen die Dokumentation der tatsächlich eingesetzten Version prüfen. Das gilt besonders dann, wenn eine vorhandene Liste erweitert oder ein eigenes Administrationsmodul entwickelt wird. Ein allgemeiner Blick auf die Eigenschaften von Shopware hilft zusätzlich, technische Funktionen nicht losgelöst vom jeweiligen Systemkontext zu bewerten.

Die Oberfläche darf keine Datenlogik vortäuschen

Ein häufiger Denkfehler lautet: Wenn eine Seitennavigation gerendert wird, sei die Paginierung bereits erledigt. Tatsächlich kann eine Oberfläche Seitenzahlen darstellen, obwohl keine verlässliche Information über die verfügbare Ergebnismenge vorliegt. Ebenso kann ein Datenabruf korrekt begrenzt sein, ohne dass Nutzende sinnvoll zwischen den Abschnitten navigieren können.

Eine tragfähige Lösung beantwortet daher drei Fragen: Welche Seite ist gerade aktiv? Welche Daten gehören zu dieser Seite? Und welche Navigationsmöglichkeiten sind unter den aktuellen Filtern und der aktuellen Sortierung tatsächlich sinnvoll? Die Antworten sollten nicht in verschiedenen Teilen der Anwendung voneinander abweichen.

Zusammenspiel mit Datenlisten und API

Auf der Datenebene bedeutet Pagination, dass nicht die gesamte Ergebnismenge verarbeitet oder ausgeliefert wird, sondern ein bestimmter Ausschnitt. Die Oberfläche benötigt dafür mindestens eine Information darüber, welcher Abschnitt angefordert wurde und wie sie nach einem Seitenwechsel weiterarbeiten soll. Abhängig vom jeweiligen Endpunkt oder Listenmechanismus können zudem Angaben zur Gesamtmenge oder zu weiteren Navigationsmöglichkeiten relevant sein.

Im Umfeld der Admin API werden Navigationszustände teilweise mit Begriffen wie erster, letzter, vorheriger oder nächster Abschnitt beschrieben. Ob, in welcher Form und mit welcher genauen Bedeutung solche Angaben verfügbar sind, muss jedoch für den konkreten Endpunkt und die eingesetzte Version geprüft werden. Es wäre unzuverlässig, daraus eine überall identische Schnittstellenregel abzuleiten.

Für die technische Planung genügt eine einfache Denkregel: Die UI fordert nicht einfach „die nächste Seite“ an, sondern verändert einen klar definierten Listenstatus. Dieser Status umfasst je nach Anwendungsfall die aktuelle Seite, die Anzahl der Datensätze pro Seite, die Sortierung und aktive Filter. Die Datenquelle muss diesen Status berücksichtigen. Kommt eine Antwort zurück, muss die Ansicht erkennen können, ob sie noch zum aktuellen Zustand gehört. Das verhindert beispielsweise, dass ein langsamer älterer Abruf eine inzwischen neu gefilterte Liste überschreibt.

Gerade bei umfangreichen Sortimenten oder vielen Vorgängen lohnt sich eine saubere Prüfung der Datenstruktur. Wer Datenmengen und Auswertungen im Systemkontext besser einordnen möchte, findet mit einer Shopware-Statistik einen weiterführenden Anknüpfungspunkt. Für die Pagination selbst gilt aber: Aussagen über Performance oder konkrete Systemgrenzen lassen sich nicht pauschal treffen. Sie hängen von Datenmodell, Abfrage, Erweiterungen und Infrastruktur ab.

Praxisbeispiel: eine Produktliste navigieren

Stell dir eine individuelle Listenansicht in der Administration vor, in der ein Team Produkte prüft. Die Liste ist nach dem letzten Bearbeitungsdatum sortiert und zusätzlich auf einen bestimmten Status gefiltert. Zunächst zeigt die Ansicht den ersten Teil der passenden Produkte. Die Pagination vermittelt, dass weitere Einträge verfügbar sind, und der Nutzer wählt einen späteren Abschnitt aus.

Für eine konsistente Umsetzung passieren fachlich drei Dinge:

  1. Die Listenansicht speichert, welcher Abschnitt aktuell gewählt ist.
  2. Der Datenabruf berücksichtigt diesen Zustand zusammen mit Sortierung und Filter.
  3. Die zurückgelieferte Menge ersetzt oder ergänzt die sichtbare Liste so, dass eindeutig bleibt, welcher Abschnitt gerade angezeigt wird.

Ändert der Nutzer anschließend den Statusfilter, sollte die Anwendung nicht gedankenlos bei der bisherigen späteren Seite bleiben. Durch den neuen Filter kann die Menge deutlich kleiner sein. Sinnvoll ist dann, den Listenstatus neu einzuordnen und leere oder widersprüchliche Ansichten zu vermeiden. Gleiches gilt, wenn sich die Sortierung ändert: Der Inhalt eines Abschnitts kann sich dadurch verschieben.

Geordnete Datenkarten als Symbol für strukturierte Listen und Seitennavigation

Das Beispiel zeigt auch, warum Pagination kein isoliertes Designdetail ist. In der UI geht es um Orientierung und Bedienbarkeit. In der Datenlogik geht es um einen reproduzierbaren Ausschnitt aus einer klar definierten Ergebnismenge. Beide Perspektiven müssen von Anfang an zusammen geplant werden.

Wichtige Prüfpunkte bei der Umsetzung

Bevor eine bestehende oder neue Listenansicht erweitert wird, sollte das Team zuerst klären, welche Art von Pagination überhaupt benötigt wird. Eine einfache tabellarische Übersicht mit wenigen Datensätzen stellt andere Anforderungen als eine operative Liste, die regelmäßig gefiltert, sortiert und aktualisiert wird.

  • Kontext bestimmen: Handelt es sich um eine Standardansicht, ein eigenes Administrationsmodul oder eine Schnittstelle? Die verfügbaren Möglichkeiten können sich unterscheiden.
  • Listenstatus eindeutig halten: Aktive Seite, Sortierung und Filter sollten gemeinsam betrachtet werden. Sie bilden zusammen den Zustand der Ansicht.
  • Leere Zustände bewusst behandeln: Eine leere Seite kann bedeuten, dass keine Treffer existieren, aber auch, dass der aktuelle Seitenstatus nach einer Filteränderung nicht mehr passt.
  • Änderungen synchronisieren: Neue Filter oder Sortierungen dürfen nicht mit älteren Abrufen kollidieren und veraltete Ergebnisse anzeigen.
  • Version und Erweiterungen prüfen: Komponenten und Schnittstellen können sich ändern oder durch Plugins beeinflusst werden.
  • Reale Anwendungsfälle testen: Neben dem ersten Seitenaufruf gehören Wechsel, Rücksprung, Filteränderung und eine kleine Ergebnismenge zur Prüfung.

Ein strukturierter Shopware-Check kann sinnvoll sein, wenn unklar ist, ob eine bestehende Listenlogik sauber aufgesetzt ist oder ob mehrere Erweiterungen in dieselbe Administration eingreifen. Dabei sollte nicht nur die sichtbare Navigation betrachtet werden, sondern auch der Weg der Daten von der Abfrage bis zur Anzeige.

Typische Fehler und Grenzen

Der häufigste Fehler besteht darin, Pagination mit Filterung oder Sortierung gleichzusetzen. Das führt zu unklaren Anforderungen und erschwert die Fehlersuche. Erst wenn klar ist, welche Datenmenge nach Filtern und Sortieren übrig bleibt, lässt sich sinnvoll entscheiden, welcher Ausschnitt angezeigt werden soll.

Ebenso problematisch sind inkonsistente Seitennummern. Wenn sich die Menge der Ergebnisse zwischen zwei Abrufen verändert, kann eine zuvor gültige Seite plötzlich nicht mehr existieren. Die Anwendung benötigt dann eine nachvollziehbare Reaktion, statt ohne Erklärung eine leere Tabelle zu zeigen. Welche Reaktion technisch passend ist, hängt vom konkreten Modul ab; eine allgemeingültige Shopware-Vorgabe lässt sich daraus nicht ableiten.

Ein weiterer Grenzfall sind große oder häufig aktualisierte Listen. Hier kann es vorkommen, dass sich die Daten zwischen zwei Seitenwechseln verändern. Die Pagination bleibt dann ein nützliches Navigationsmittel, stellt aber keine unveränderliche Momentaufnahme dar. Fachlich sollte geklärt sein, ob diese Dynamik akzeptabel ist oder ob ein bestimmter Arbeitsprozess eine stabilere Ansicht benötigt.

Auch Begriffe wie „vorherige“, „nächste“, „erste“ oder „letzte“ Seite verdienen eine Prüfung im jeweiligen technischen Kontext. Sie klingen eindeutig, können aber bei unterschiedlichen Datenquellen, Filtern oder dokumentierten API-Varianten anders umgesetzt sein. Konkrete Parameter- oder Ereignisnamen sollten daher nicht aus allgemeinen Beispielen übernommen, sondern für die verwendete Version verifiziert werden.

Unterm Strich ist Pagination in Shopware 6 ein Zusammenspiel aus verständlicher Listenführung und belastbarer Datenlogik. Für Standardansichten reicht oft ein klarer Blick auf den vorhandenen Kontext; bei eigenen Modulen oder komplexen Datenflüssen braucht es eine abgestimmte technische Umsetzung. Wenn dafür Architektur, Erweiterungen und Administrationsprozesse gemeinsam betrachtet werden sollen, ist die Unterstützung durch eine Shopware-Agentur mit technischem E-Commerce-Fokus eine sinnvolle Einordnungsmöglichkeit.

Diesen Beitrag teilen