Paginatoren
Paginatoren stellen Inhalte übersichtlich dar. Der Nutzer kann zwischen einer tabellarischen und einer grafischen Ansicht wählen.
Paginatoren einbinden.
Die folgenden Schritte sind notwendig um einen Paginator zu nutzen.
Paginator im controller konfigurieren
Paginator im Template einbinden
1. Paginator konfigurieren
Die Funktion setPaginator instanziert einen Paginator. Folgende Parameter können dabei gesetzt werden:
1.0. Aufbereitung der Daten
Die Daten für Paginatoren werden in der Rege von den get-Funktionen der jeweiligen Klasse ermittelt. Für eine funktionierende Sortierung, sowie Filterung der aktuellen Datensätze - basierend auf der aktuellen Seite des Paginators wird der SQL Query der folgnende Code vorgestellt:
Für jedes Feld, das für eine Sortierung / Filerung relevant ist, muss definiert werden, in welcher Tabelle es sich befindet. Hier wird auf die Abkürzungen zurückgegriffen (s. Kapitel Datenbank).
Die Variable $order_param enthält nun alle Suchbegriffe, Filerungen usw. und wird wie folgt der SQL Query angehängt:
Damit der Paginator funktioniert, müssen die Daten als Array of Objects vorliegen. Hier exemplarisch ein Beispiel:
Neben dem Daten-Array muss auch die Gesamtanzahl der gefundenen Datensätzen ermittelt werden. Dies geschieht idealerweise, indem man in der SQL Query dem SELECT
Befehl den Befehl SQL_CALC_FOUND_ROWS
nachstellt. Dies geschieht üblicherweise in der get-Funktion in der jeweiligen Klasse. Bevor nun das Array zurückgegeben wird muss folgender Code ausgeführt werden:
Dadurch wird die gefundene Anzahl der Datensätze als in $_SESSION['SmartyPaginate'][$paginator]['item_total']
gespeichert.
1.1. Die Konfiguration
$p_config besteht aus einem Array, in dem festgelegt ist,
welche Felder aus $data angezeigt werden,
welche Felder mit dem Suchfeld am Paginator durchsucht werden,
wie die widgets (grafische Ansicht) aussehen soll,
welche Funktionen in der Spalte Optionen angezeigt werden.
Das folgende Beispiel zeigt exemplarisch die Konfiguration des User-Paginators
1.1.1 p_widget
$p_widget legt fest, welche Daten in der grafische Ansicht des Paginators angezeigt werden.
1.1.2 p_options
$p_options legt fest, welche Funktionen in der Spalte Optionen angezeigt werden.
Im folgenden Beispiel gibt es die vier Funktionen: löschen, Eltern zuweisen, bearbeiten, Profilvorschau. Die Einstellungen jeder Funktion ist in einem Array gespeichert:
Die folgenden Einstellungen können gemacht werden:
onclick: javascript Funktion, die aufgerufen werden soll. Für __id__ wird die ID des aktuellen Datensatzes eingesetzt.
alternativ zu onclick kann auch href angegeben werden. Statt einer javascript Funktion muss dann eine url hinterlegt werden, auch in dieser kann __id__ genutzt werden.
capability: kann true oder false sein. Im Beispiel wird der Wert über die Funktion checkCapabilities ermittelt.
icon: font-awesom icon (css)
tooltip: Hilfetext (mouseover, bzw. firstclick auf Touchscreens )
2. Paginatoren in Template einbinden
In Templates können Paginatoren wie folgt über das Smarty-Plugin html_paginator aufgerufen werden. Als Parameter muss dabei nur der Name(id), sowie der Titel des paginators gesetzt werden. Der Titel wird zur Zeit nur für die Druckausgabe benötigt.
Last updated