Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Addon: Pagination #10

Closed
schuer opened this issue Jun 7, 2016 · 9 comments
Closed

Addon: Pagination #10

schuer opened this issue Jun 7, 2016 · 9 comments
Labels

Comments

@schuer
Copy link
Member

schuer commented Jun 7, 2016

From @schuer on May 23, 2016 12:35

Wurde heute im Chat diskutiert: Ein generischer Paginierungs-Helfer wäre sehr nützlich. Immer dann, wenn Artikellisten ausgegeben werden, die beliebig lang sein können.

Oftmals schreibt man in solchen Fällen Logik in Templates und/oder Module, aber die Implementierung als Addon wäre sicherlich viel sinnvoller. Das Addon könnte diverse Methoden anbieten, mit denen all die Dinge umgesetzt werden können, die man für eine schöne Paginierung benötigt:

  • Artikel nach bestimmten Kriterien abfragen (Anzahl, Datum, Autor, Limit, Sortierung, etc.)
  • Behandlung der URIs/Querystrings (z. B. /page-2 oder ?page=2) mit entsprechender Artikelausgabe
  • Helper für url_prev, url_next und has_prev, has_next (werden z. B. auch für meta-rel-Angaben im benötigt)
  • Helper für Anzahl der Artikel und Anzahl der Seiten
  • Vielleicht sogar vorgefertigte Fragmente für die Ausgabe der Paginierungselemente (Buttons)

Copied from original issue: FriendsOfREDAXO/wuensche_ideen#6

@schuer schuer added the question label Jun 7, 2016
@schuer schuer changed the title Pagination Addon: Pagination Jun 7, 2016
@alxndr-w
Copy link
Member

Wäre auch was für search_it. Hilfe willkommen.

@schuer
Copy link
Member Author

schuer commented Sep 26, 2016

Stimmt, Suchergebnisse wären ein typischer Fall für Paginierung, die man besser nur einmal entwickelt, und nicht immer wieder aufs Neue.

@gharlan
Copy link
Member

gharlan commented Sep 26, 2016

Nur als kleine Info: Ein kleines Helferlein für Paginierungen hat der R5-Core dabei: rex_pager
Bietet aber natürlich nicht alle Features aus dem ersten Post. ;)

Die rex_pager-Klasse wird zum Beispiel von der rex_list und auch in der Struktur im Backend verwendet.
Auch das neue Mini-ORM in yform arbeitet mit der Klasse zusammen. Ich sehe allerdings ein, dass ich da mal Beispiele bereitstellen muss, damit dass dann auch mal jemand verwendet.. ;)

Ein Fragment für die Klasse gibt es übrigens auch: pagination.php

@alxndr-w
Copy link
Member

@gharlan du hast den Job! ;)

@staabm
Copy link
Member

staabm commented Sep 27, 2016

Gefühlt sind das für mich keine use cases für ein addon. Sowas kann man mit 1-2 klassen realisieren.
Wenn man diese mini-use-cases alle in separaten addons realisiert hat man am schluss sehr viele addons in der installation.
Klongt nach 2 klassen die man via projekt-addon in seine seite bringen könnte.

@tbaddade
Copy link
Member

Wenn man das Eloquent Addon einsetzt kann man sich dort auch eine Pagination erstellen lassen. Ich hatte das mal in R4 direkt für rex_sql aufgesetzt.

@alxndr-w
Copy link
Member

Wäre auf der anderen Seite auch ein tolles Beispiel dafür, wie man Fragmente in Redaxo benutzt... Das würde ich gerne bspw. daran lernen.

@skerbis
Copy link
Member

skerbis commented Sep 27, 2016

@gharlan ein Beispiel wäre schon mal was für den Start 👍
unter: https://github.com/FriendsOfREDAXO/tricks bitte

alxndr-w added a commit to FriendsOfREDAXO/tricks that referenced this issue Oct 4, 2016
Beispiel-Klasse zur Erstellung einer Paginierung, zur weiteren
Verwendung in Blog-Modulen, Suchergebnissen, etc.

FriendsOfREDAXO/friendsofredaxo.github.io#10
https://github.com/tyrant88/search_it/issues/44
@alxndr-w
Copy link
Member

alxndr-w commented Oct 6, 2016

Beispiel bei "tricks". close?

@alxndr-w alxndr-w closed this as completed Jan 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants