Alles zusammenfügen
Wir haben gesehen wie ein Paginator Objekt erstellt wurd, wie die Elemente der aktuellen
Seite dargestellt werden und wie ein Navigationselement dargestellt wird um durch die
Seiten zu navigieren. In diesem Kapitel sehen wir wie Paginator in den Rest der MVC
Anwendung passt.
Im folgenden Beispiel ignorieren wir die Implementation der besten Praxis bei der ein
Service Layer verwendet wird um das Beispiel einfach und leichter verständlich zu machen.
Sobald wir mit der Verwendung von Service Layern vertraut sind, sollte es einfach sein zu
sehen wie Paginator in diesen Ansatz der besten Praxis passt.
Beginnen wir mit dem Controller. Die Beispielanwendung ist einfach und wir geben alles
einfach in den IndexController und die IndexAction. Wie gesagt ist das nur zu Zwecken
der Demonstration. Eine echte Anwendung sollte Controller nicht in dieser Art und Weise
verwenden.
select()->from('posts')->sort('date_created DESC');
// Erstellt einen Paginator für die Abfrage der Blog Posts
$paginator = Zend_Paginator::factory($select);
// Die aktuelle Seitenzahl von der Anfrage lesen. Der Standardwert ist
// 1 wenn keine explizite Seitenzahl angegeben wurde
$paginator->setCurrentPageNumber($this->_getParam('page', 1));
// Weist das Paginator Objekt der View zu
$this->view->paginator = $paginator;
}
}
]]>
Das folgende View Skript ist das index.phtml View Skript für die indexAction des
IndexController's. Das View Skript kann einfach gehalten werden. Wir nehmen an das der
standardmäßige ScrollingStyle verwendet wird.
paginator as $item) {
echo '' . $item->title . '';
}
?>
paginator; ?>
]]>
Jetzt zum Index des Projekts navigieren und Paginator in Aktion sehen. Was wir in diesem
Tutorial diskutiert haben ist nur die Spitze des Eisbergs. Das Referenz Handbuch und die
API Dokumentation können mehr darüber sagen das mit
Zend_Paginator alles getan werden kann.