Pagination auf Custom Page - Wie umsetzen?

Moin,

Ich schreibe gerade ein Plugin für eine Bewertungsübersicht, dass ich auch frei auf GitHub zur verfügung stelle.

Leider ist es ziemlich blöd, wenn 1432 Bewertungen auf einer Seite ausgegeben werden. Wie kann mann eine Pagination bauen mit den Shopware Boardmitteln ? Oder hat jemand ein Beispiel, an dem ich mich orientieren kann?

Leider konnte ich nichts mit den vorhandenen Posts anfangen. @brettvormkopp‍ hoffe du kannst helfen :slight_smile:

Gruß,

Marc

Also die pagination von Shopware ist mega hässlich. Da gibt es aber ein Plugin „logarithmic pagination“. Sowas kann man ja nachbauen. Ich habe von Seite 1-5 werden alle pages angezeigt, und ab 6 dann "logarithmisch’, wer auch immer sich diesen Begriff ausgedacht hat. Und im Bewertung plugin muss dann eben ein limit eingearbeitet werden. Ich guck morgen mal nach ein paar codeschnipseln.

1 „Gefällt mir“

Würde mich sehr freuen, wenn du ein schönes Beispiel hättest, dass ich übernehmen / nachbauen könnte für das Projekt  Shopware Thumb-Up

Naja, du übergibst einfach einen GET-Parameter names “page” (oder “p”). Dann wählst du noch eine Anzahl Bewertungen pro Seite n.
Danach einfach die SQL-Query entsprechend limitieren

SELECT * FROM ... LIMIT n OFFSET p*n 

Dann brauchst du noch, wie viel Seiten es insgesamt gibt: ceil(#AnzahlReview/n).

Und die Pagination im Frontend stellst du wie folgt dar: shopware/action-pagination.tpl at 5.4 · shopware/shopware · GitHub

Das SQL natürlich nicht 1:1 so übernehmen, sondern die entsprechenden Schnittstellen (DBAL-Querybuilder verwenden, etc.)

Vielleicht verstehe ich die Frage nicht 100%, aber da es direkt mit deinem SQL-Statement zu tun hat, gibt es da keine weiteren Boardmittel.

Viele Grüße

1 „Gefällt mir“

Ich hab es schon geschafft, mir hat dieses video sehr geholfen um das Prinzip zu verstehen:

Grüße,

Marc